Android Google Map v2-单击标记信息窗口时启动活动
我看到人们在这项具体任务中遇到了很多困难,我也需要帮助 我已经使用谷歌提供的默认代码成功地在地图上创建了标记。但现在我想能够点击“信息窗口”打开一个新的活动,这样我就可以添加更多的信息Android Google Map v2-单击标记信息窗口时启动活动,android,google-maps,android-activity,google-maps-markers,infowindow,Android,Google Maps,Android Activity,Google Maps Markers,Infowindow,我看到人们在这项具体任务中遇到了很多困难,我也需要帮助 我已经使用谷歌提供的默认代码成功地在地图上创建了标记。但现在我想能够点击“信息窗口”打开一个新的活动,这样我就可以添加更多的信息 从这个带有标题和片段的基本标记: 然后单击它并打开一个空白活动: 有人知道最好的方法吗 如果你能回答这个问题,请提供一些代码或示例。 任何帮助都将不胜感激 将此添加到您的代码中 Mymap.setOnInfoWindowClickListener(new OnInfoWindowClickListene
- 从这个带有标题和片段的基本标记:
- 然后单击它并打开一个空白活动:
Mymap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(MapActivity.this,OtherActivity.class);
startActivity(intent);
}
});
你知道拉古南丹的例子吗?在哪里可以看到一些代码?谢谢例子。在信息窗口中显示一个祝酒词单击在信息窗口中单击做你想做的事修改sameThank you我会试试这个!你可以做你需要做的事,而不是烤面包。让你决定你想做什么谢谢你成功了!我将为其他用户发布一些示例代码!什么是我的地图?我的无法解析符号“SetOnInfo WindowClickListener”,因为Mymap不适合我的代码。。。它是GoogleMap类的实例吗?是活动课吗?或者它是从GoogleMap类继承而来的一个新的独立类?@AlexVPerl Hi这可能有点奇怪,但我使用带有json字符串的标题。然后,您需要使用自定义infowindow适配器来正确显示您的内容。类似于{“title”:“Your title”,“param1”:“Your param}。我认为最好是从标记的
标记中识别标记,而不是从标题中识别标记。它可以设置为marker.setTag(theID);
This method works even well with multiple markers. get the title of the marker using marker.getTitle() and Starts the activity based on which marker you clicked.
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng chennai = new LatLng(12.9671, 80.2593);
mMap.addMarker(new MarkerOptions().position(chennai).title("Chennai"));
LatLng perungudi = new LatLng(12.97, 80.25);
mMap.addMarker(new MarkerOptions().position(perungudi).title("Perungudi"));
LatLng pallikarnai = new LatLng(12.9377, 80.2154);
mMap.addMarker(new MarkerOptions().position(pallikarnai).title("Pallikarnai"));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(chennai,12));
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
if (marker.getTitle().equals("Chennai")){
Toast.makeText(MapsActivity.this, "Clicked"+marker.getTitle(), Toast.LENGTH_SHORT).show();
}
return false;
}
});
}