如何使用 OnMarkerClickListener 获取该标记的位置?
How to use OnMarkerClickListener to get location of that marker?
我有一张包含 3 个选项的地图。搜索功能、附近位置功能以及点击地图设置标记选项。我想将这些位置保存在我的 Parse 后端中,但我唯一能弄清楚如何做的是设置标记选项。
当我进行附近搜索并获得一堆结果时,我希望能够单击其中一个标记(查看标题和位置),然后单击保存按钮以保存到我的后端。这是我拥有的:
@Override
protected void onPostExecute(List<HashMap<String,String>> list){
// Clears all the existing markers
mGoogleMap.clear();
for(int i=0;i<list.size();i++){
// Creating a marker
markerOptions = new MarkerOptions();
// Getting a place from the places list
HashMap<String, String> hmPlace = list.get(i);
// Getting latitude of the place
double lat = Double.parseDouble(hmPlace.get("lat"));
// Getting longitude of the place
double lng = Double.parseDouble(hmPlace.get("lng"));
// Getting name
final String name = hmPlace.get("place_name");
// Getting vicinity
final String vicinity = hmPlace.get("vicinity");
latLng = new LatLng(lat, lng);
// Setting the position for the marker
markerOptions.position(latLng);
// Setting the title for the marker.
//This will be displayed on taping the marker
markerOptions.title(name + " : " + vicinity);
// Placing a marker on the touched position
mGoogleMap.addMarker(markerOptions);
}
}
我已经尝试添加 setOnMarkerClickListener,但它最终没有显示任何内容(现在我至少得到了标题和位置)。
我知道如何将位置保存到我的后端,但我不确定如何获取点击标记的位置。
只需为您的地图对象设置 onMarkerClickListener,回调 returns 给您 Marker 对象。
Marker 有一个名为 Position 的属性,它具有您需要的 LatLng 值。您还必须添加一个信息窗口,使用标记对象必须显示名称和其他详细信息的详细信息。
@Override
public boolean onMarkerClick(Marker marker) {
LatLng markerLocation=marker.getPosition();
return false;
}
我有一张包含 3 个选项的地图。搜索功能、附近位置功能以及点击地图设置标记选项。我想将这些位置保存在我的 Parse 后端中,但我唯一能弄清楚如何做的是设置标记选项。
当我进行附近搜索并获得一堆结果时,我希望能够单击其中一个标记(查看标题和位置),然后单击保存按钮以保存到我的后端。这是我拥有的:
@Override
protected void onPostExecute(List<HashMap<String,String>> list){
// Clears all the existing markers
mGoogleMap.clear();
for(int i=0;i<list.size();i++){
// Creating a marker
markerOptions = new MarkerOptions();
// Getting a place from the places list
HashMap<String, String> hmPlace = list.get(i);
// Getting latitude of the place
double lat = Double.parseDouble(hmPlace.get("lat"));
// Getting longitude of the place
double lng = Double.parseDouble(hmPlace.get("lng"));
// Getting name
final String name = hmPlace.get("place_name");
// Getting vicinity
final String vicinity = hmPlace.get("vicinity");
latLng = new LatLng(lat, lng);
// Setting the position for the marker
markerOptions.position(latLng);
// Setting the title for the marker.
//This will be displayed on taping the marker
markerOptions.title(name + " : " + vicinity);
// Placing a marker on the touched position
mGoogleMap.addMarker(markerOptions);
}
}
我已经尝试添加 setOnMarkerClickListener,但它最终没有显示任何内容(现在我至少得到了标题和位置)。
我知道如何将位置保存到我的后端,但我不确定如何获取点击标记的位置。
只需为您的地图对象设置 onMarkerClickListener,回调 returns 给您 Marker 对象。 Marker 有一个名为 Position 的属性,它具有您需要的 LatLng 值。您还必须添加一个信息窗口,使用标记对象必须显示名称和其他详细信息的详细信息。
@Override
public boolean onMarkerClick(Marker marker) {
LatLng markerLocation=marker.getPosition();
return false;
}