gpt4 book ai didi

android - 通过点击 Android 手机中的位置来获取谷歌地图中的位置名称

转载 作者:行者123 更新时间:2023-11-29 14:09:13 24 4
gpt4 key购买 nike

我正在 android 中制作一个应用程序以获取谷歌地图中的位置名称。当我点击我的谷歌地图中的特定位置时,我必须获取特定的位置名称。当我使用我的代码时出现错误,任何人都可以解释为什么会这样!!!

package com.android.mapadress;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;

import android.app.Activity;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.graphics.Point;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.os.IBinder;
import android.view.MotionEvent;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.Toast;
class MapOverlay extends com.google.android.maps.Overlay
{
public boolean onTouchEvent(MotionEvent event, MapView mapView)
{
//---when user lifts his finger---
if (event.getAction() == 1) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Toast.makeText(this,
p.getLatitudeE6() / 1E6 + "," +
p.getLongitudeE6() /1E6 ,
Toast.LENGTH_SHORT).show();
}
return false;

}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}

public class mapadress extends MapActivity {
/** Called when the activity is first created. */
//@Override
private MapOverlay overlay;
LinearLayout linearLayout;
MapView mapView;
MotionEvent event;

//@Override
protected boolean isRouteDisplayed()
{
return false;
}

public void onCreate(Bundle savedInstanceState) {
try
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
overlay.onTouchEvent(event, mapView);
}
catch(Exception e)
{
}
}

}

最佳答案

使用 ItemizedOverlay 类来表示标记... Tutorial在安卓开发者网站上描述得非常清楚。

OnTap 方法有两个版本。一个提供位置,您可以使用它。

有一个用于反向地理编码的谷歌网络服务(如下所示,在这里使用您自己的纬度和经度,要更改 json 中的输出,您可以更改 &output=json 而不是 &output=xml ), 必须有一个地理编码类,但不幸的是我不知道这一点。

http://maps.google.com/maps/geo?q=" + latitude + ","+ longitude + "&output=xml

获取适当的节点(xml)或适当的键(json)的值以获得所需的值。

关于android - 通过点击 Android 手机中的位置来获取谷歌地图中的位置名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4633795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com