HYPERLINK "/bbs/forum.php?mod=viewthread&tid=1296&extra=page%3D18" Android 通过地名获得经纬度并标识在地图上(代码已调试通过)
要是调用Geocoder的getFromLocationName(),该方法可以传入地名。 在使用该方法前需要geo = new Geocoder(this, Locale.CHINA); 不然在地图上是查询不到的。 HYPERLINK "/cmdn/wiki/index.php?doc-view-1306" \t "_blank" Java代码 /** * */ package com.decarta.demo; import java.io.IOException; import java.util.List; import java.util.Locale; import HYPERLINK "/cmdn/wiki/index.php?doc-view-1789" \t "_blank" Android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Point; import android.location.Address; import android.location.Geocoder; import android.os.Bundle; import com. HYPERLINK "/cmdn/wiki/index.php?doc-view-1483" \t "_blank" google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.Projection; /** * @author Tony Shen * */ public class Main extends MapActivity { // 地图显示控制相关变量定义 private MapView map = null; private MapController mapCon; private Geocoder geo; private static final int ERROR_DIALOG = 1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); geo = new Geocoder(this, Locale.CHINA); // 获取MapView map = (MapView) findViewById(R.id.map); // 设置显示模式 map.setTraffic(true); map.setSatellite(false); map.setStreetView(true);// 设置可以缩放 map.setBuiltInZoomControls(true); List addresses = null; try { addresses = geo.getFromLocationName("江苏省苏州市寒山寺", 1); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(addresses.size() == 0) { sho