在标记按钮上单击查找Google地方ID字符串

时间:2016-04-05 12:32:19

标签: android google-maps google-maps-android-api-2

我想在用户点击地图的标记按钮时获取地点。

这是我的代码:

api.addFiles

这里marker.getId()显示不同的值,如“m13”。当用户点击地图上的标记按钮时,我希望Google帐户ID为map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { // marker.showInfoWindow(); marker.getId(); startActivity(new Intent(getApplicationContext(), ActivityDetails.class)); return false; } });

1 个答案:

答案 0 :(得分:0)

要获得地点ID,您必须先获取正确的地名。你从地图点击监听器得到一个latlng所以我们必须做以下步骤 -

  1. 从地图

    获取latlng
    @Override
        public void onMapClick(LatLng latLng) {
    ......
    

    latlng是我们将用于进一步操作的对象。

  2. 通过反向地理编码从latlng获取地址

    Geocoder geocoder;
    List<Address> addresses = null;
                geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
    try {
         addresses = geocoder.getFromLocation(latLng.latitude, latLng.longitude, 1);
         } catch (IOException e) {
           e.printStackTrace();
      }
    
  3. 现在您将这些地址传递到以下网址,然后以json格式获取您的ID。

    https://maps.googleapis.com/maps/api/place/autocomplete/json?input=THE_ADDRESS_YOU_WANT_TO_GIVE&sensor=false&key=YOUR_API_KEY
    
  4. 这些是您需要完成的完整步骤。根据需要在逻辑中使用它。不要忘记处理异常。这在Google地图中最重要。

    尝试将地址传递给url一些,这对你来说可能是一个问题。