2012-05-18 2 views
1

Я хочу найти местоположение на карте при использовании виртуального устройства (эмулятор Android), потому что у меня нет реального устройства. Спасибо, что посмотрели!Как найти местоположение на карте с адреса, который был введен пользователем?

Вот мой код:

enter code herepublic class GoogleMapExample3Activity extends MapActivity { 
/** Called when the activity is first created. */ 
MapView mapView; 
TextView txtView; 
LinearLayout zoomControl; 
GeoPoint geoPoint; 
MapController mapController; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mapView=(MapView) findViewById(R.id.mapView); 
    zoomControl=(LinearLayout) findViewById(R.id.zoomControl); 
    View view= mapView.getZoomControls(); 
    zoomControl.addView(view,new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    mapView.displayZoomControls(true); 
    mapView.setSatellite(true); 
    String address="New York"; 
    Geocoder geoCoder=new Geocoder(this); 
    List<Address> list; 
    try { 
     list = geoCoder.getFromLocationName(address, 1); 
     Address a=list.get(0); 
     Double latitude=a.getLatitude(); 
     Double longitude=a.getLongitude(); 
     geoPoint=new GeoPoint((int)(latitude*1E6),(int)(longitude*1E6)); 
     mapController=mapView.getController(); 
     mapController.animateTo(geoPoint); 
     mapController.setZoom(18); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

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

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    MapController mapController=mapView.getController(); 
    switch (keyCode) { 
    case KeyEvent.KEYCODE_I: 
     mapController.zoomIn(); 
     break; 
    case KeyEvent.KEYCODE_O: 
     mapController.zoomOut(); 
     break; 
    default: 
     break; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

}

I судимого но не может получить место от адреса, который был введен пользователем! Мне нужна помощь!

+0

Я не использую getfromlocationnam метода, я использую разбора JSON, чтобы получить место который был введен пользователем! – lanquansan

ответ

0
How to find a location on Map from a address which was be input by user? 

Использование Android Geocoder класса,

Geocoder geoCoder = new Geocoder(this); 
List<Address> listAddress; 
GeoPoint geoPoint; 
try { 
    listAddress = geoCoder.getFromLocationName(userAddress,1); 
    if (listAddress == null) { 
     return null; 
    } 
    Address location = listAddress.get(0); 
    geoPoint = new GeoPoint((int) (location.getLatitude() * 1E6), 
         (int) (location.getLongitude() * 1E6)); 
+0

Так что я делаю, но getFromLocationName («пользователь вводит адрес», 1) метод не работает! Log cat output: Service not avaiable :( – lanquansan

+0

yes, google APIs 2.2 – lanquansan

+0

Я попытался, но не! Debug получит сообщение: «java.io.IOException: Service not Available» – lanquansan

Смежные вопросы