我想在用户点击地图的标记按钮时获取地点。
这是我的代码:
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;
}
});
。
答案 0 :(得分:0)
要获得地点ID,您必须先获取正确的地名。你从地图点击监听器得到一个latlng所以我们必须做以下步骤 -
从地图
获取latlng@Override
public void onMapClick(LatLng latLng) {
......
latlng是我们将用于进一步操作的对象。
通过反向地理编码从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();
}
现在您将这些地址传递到以下网址,然后以json格式获取您的ID。
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=THE_ADDRESS_YOU_WANT_TO_GIVE&sensor=false&key=YOUR_API_KEY
这些是您需要完成的完整步骤。根据需要在逻辑中使用它。不要忘记处理异常。这在Google地图中最重要。
尝试将地址传递给url一些,这对你来说可能是一个问题。