2014-12-03 57 views
1

我用我的Android應用程序從谷歌autocompleteplaces,有時你可以在一個地點名稱填寫,並自動填充它爲你喜歡這裏:谷歌自動完成的地方,地點名稱,緯度/經度

enter image description here

我想從它,所以我使用的地理編碼器來獲取緯度/經度:

List<Address> addresses = geoCoder.getFromLocationName(autoCompView.getText().toString(), 1); 

        if (addresses.size() > 0) { 
         latitude = addresses.get(0).getLatitude(); 
         longitude = addresses.get(0).getLongitude(); 

現在,它並沒有給我任何ADRESS因爲場地的名稱是它。 如何從中獲取緯度/經度?

回答

0

這是我的代碼,我實現了。

PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) 
     getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment); 
    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder() 
      .setCountry("KE") 
      .build(); 

    autocompleteFragment.setFilter(typeFilter); 
    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { 
     @Override 
     public void onPlaceSelected(Place place) { 
      // TODO: Get info about the selected place. 
      Log.i("Place: " , String.valueOf(place.getName())); 
      mMap.clear(); 
      displayMarkersOnMap(); 
      LatLng selectedPlace = place.getLatLng(); 
      mMap.moveCamera(CameraUpdateFactory.newLatLng(selectedPlace)); 
      mMap.animateCamera(CameraUpdateFactory.zoomTo(15)); 
      MarkerOptions selectedPlaceMarker = new MarkerOptions(); 
      selectedPlaceMarker.position(selectedPlace); 
      selectedPlaceMarker.title(String.valueOf(place.getName())); 
      mMap.addMarker(selectedPlaceMarker); 
     } 

     @Override 
     public void onError(Status status) { 
      // TODO: Handle the error. 
      Log.i("An error occurred: " , String.valueOf(status)); 
     } 
    }); 

基本上,我已經添加了過濾器來將結果過濾到我的國家肯尼亞的頂部。然後我創建一個placeSelectedListener,當用戶點擊一個位置時將會調用它。從它,我分配從該地點收到LatLng並移動我的地圖。

相關問題