1

其實我使用FusedLocationApi獲取用戶當前位置,之後我將在地圖上添加標記並且它工作正常。 現在我在MapFragment上添加EditText, EDITTEXT是,如果用戶不是我的標誌移動到新位置進入另一個位置......搜索帶有FusedLocationApi的地方

所以我的問題是:

是有可能找到的地方或通過FusedLocationApi地址,因爲有人建議我使用Google Places Api

回答

1

,纔有可能找到的地方或通過FusedLocationApi地址,因爲有人建議我使用谷歌Places API的

你必須使用Google places Api將座標轉換爲地址,反之亦然。 FusedLocationApi只能幫助您找到手機的GPS座標。

+0

有任何問題出現它,我用這兩個API –

+0

如果需要,您可以使用這兩者。 @DhruvTyagi – Darish

+0

如果我同時使用它們,那麼在將來會出現 –

2

使用Google地方的自動完成功能獲取地圖上的搜索地址的位置。 Place Autocomplete

+0

可以給我任何教程鏈接 –

+0

@DhruvTyagi這裏的示例項目的鏈接- https://github.com/googlesamples/android-play-places –

2

我想你想在谷歌地方搜索地方的API,你可以使用PlaceAutocompleteFragment並獲取位置並通過Latlong搜索它。

只需添加一個Edittext,您將面臨的問題是,當位置不可識別的谷歌地圖api時,它將顯示沒有地方,讓你想到確切的名稱,而不是PlaceAutocompleteFragment將有助於猜測你的確切位置。

實現 - PlaceSelectionListener ,並添加以下代碼

PlaceAutocompleteFragment autocompleteFragment; 
    PlaceSelectionListener ps; 
autocompleteFragment = (PlaceAutocompleteFragment) 
       getFragmentManager().findFragmentById(R.id.search1); 

set listner - autocompleteFragment.setOnPlaceSelectedListener(this); 


public void onPlaceSelected(Place place) { 
     if (m_map == null) { 
      return; 
     } 
     g = place.getName().toString(); 

     final LatLng latLng = place.getLatLng(); 
     m_map.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 21)); 


    } 

XML的

<fragment 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" 
    android:id="@+id/search1" 

    > 
+0

oky,所以我應該刪除FusedLocationApi和實施 谷歌地方API,因爲它也提供了用戶的當前位置 –

+0

是的只是添加此代碼,它會爲你工作 –

+0

你可以給整個代碼參考 –