2016-12-26 49 views
0

我已经在我的android应用中实现了谷歌的PlaceAutocompleteFragment,它看起来像下面这样。 enter image description hereandroid - 添加按钮来自动完成搜索框

但我想添加一个按钮,最终谷歌地图有麦克风。

enter image description here

下面是到目前为止我的代码:

<android.support.v7.widget.CardView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="8dp" 
    > 
    <fragment 
     android:id="@+id/place_autocomplete_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" 
     /> 
</android.support.v7.widget.CardView> 

地点选择代码:

autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { 
     @Override 
     public void onPlaceSelected(Place place) { 
      String placeName = place.getName().toString(); 
      LatLng latLng = place.getLatLng(); 
      mMap.addMarker(new MarkerOptions().position(latLng).title(placeName)); 
      mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng)); 

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

一个示例代码将是很好的。非常感谢你:)

+0

你会添加你的搜索代码 –

+0

我刚刚做了,你可以再看看:) –

+1

我正在查看它并在我的android工作室上测试它,现在只需要给我时间 –

回答

1

感到很抱歉这么晚回复,但我因为一些错误

这是我的建议,你的重新安装和下载完整的Android Studio和SDK: -

  1. 要使用第三个库FloatingSearchView
  2. 要定制你自己但这需要一定的时间分别为3号库,这里是简单的教程将帮助您Custom Google Place Autocomplete AndroidHow to customize PlaceAutocomplete widget dialog design to list places Question

  3. 是尝试进入谷歌的代码更深入的定制它知道,这将通过扩展谷歌的阶级和复制的整个代码进行谷歌当时的编辑是再生类

    也是最后一步,我有达到更深它的代码是要知道,这种方法是创建一个谷歌搜索

    private void zzzG() { 
    int var1 = -1; 
    try { 
        Intent var2 = (new PlaceAutocomplete.IntentBuilder(2)).setBoundsBias(this.zzaRk).setFilter(this.zzaRl).zzeq(this.editSearch.getText().toString()).zzig(1).build(this.getActivity()); 
        this.startActivityForResult(var2, 1); 
    } catch (GooglePlayServicesRepairableException var3) { 
        var1 = var3.getConnectionStatusCode(); 
        Log.e("Places", "Could not open autocomplete activity", var3); 
    } catch (GooglePlayServicesNotAvailableException var4) { 
        var1 = var4.errorCode; 
        Log.e("Places", "Could not open autocomplete activity", var4); 
    } 
    if (var1 != -1) { 
        GoogleApiAvailability var5 = GoogleApiAvailability.getInstance(); 
        var5.showErrorDialogFragment(this.getActivity(), var1, 2); 
    }} 
    

    同样的方法,给我一个反馈,如果您有任何这些解决方案的问题

+0

它完美地工作。非常感谢你帮助我解决这个问题。对此,我真的非常感激。 –

+0

非常欢迎你,如果你需要任何帮助,我更喜​​欢:) –