स्पर्श करने के बाद करता है, मैं वर्तमान में एक एकल मार्कर प्रदर्शित कर रहा हूं। जानकारी विंडो को छुआ जब प्रदर्शित नहीं होता है। मैंने पुष्टि की है कि शीर्षक वास्तव में मार्कर में सेट किया जा रहा है।मार्कर v2 जानकारी विंडो प्रदर्शित नहीं होती है जब मार्कर स्पर्श किया जाता है, लेकिन अदृश्य जानकारी विंडो
हालांकि, अगर मैं मार्कर के ऊपर वाले क्षेत्र को स्पर्श करता हूं जिसमें जानकारी विंडो होगी, तो मुझे OnInfoWindowClickListener
ईवेंट प्राप्त होगा। जब ऐसा होता है तो मैं एक और गतिविधि खोलता हूं, और जब मैं इस गतिविधि से वापस आता हूं तो जानकारी विंडो प्रदर्शित होती है (असल में, मैं गतिविधि शुरू होने से पहले इसे विभाजित करने वाला दूसरा प्रदर्शित कर सकता हूं)।
मार्कर स्पर्श होने पर मुझे प्रदर्शित करने के लिए जानकारी विंडो कैसे प्राप्त कर सकता है इस पर कोई सुझाव?
यह मेरा प्रासंगिक कोड है: अगर मैं पाश मार्कर जानकारी विंडो प्रदर्शित करेगा के लिए अंदर m.showInfoWindow();
जोड़ने के लिए, भविष्य में हालांकि अभी भी बहुत सा मार्करों होंगे, इसलिए आवश्यकता है
// .... more code up here
final GoogleMap map = mMapFragment.getMap();
if (map == null) {
mReloadWhenReady = true;
return;
}
map.clear();
final TileProviderMapsV2 prov = new TileProviderMapsV2(mMapFragment.getActivity());
map.addTileOverlay(new TileOverlayOptions().tileProvider(prov));
final LatLngBounds.Builder bounds = new LatLngBounds.Builder();
final Map<Marker, MyNode> markerMap = J.newHashMap();
mNodes.clear();
mNodes.addAll(nodes);
L.p("Maps v2 nodes: %d. ", mNodes.size());
for (MyNode node : mNodes) {
final LatLng latlng = new LatLng(node.getLat(), node.getLon());
final MarkerOptions opts = new MarkerOptions()
.position(latlng)
.title("Title is " + node.getName())
.icon(BitmapDescriptorFactory
.fromResource(com.mydomain.droid.R.drawable.pin_blue));
final Marker m = map.addMarker(opts);
markerMap.put(m, node);
bounds.include(latlng);
}
map.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
final MyNode node = markerMap.get(marker);
L.p("Maps v2 Clicked Node: %s/%d. ", node.getName(),node.getId());
ViewNode.Launchr.setNodeId(node.getId()).launch(mMapFragment.getActivity());
}
});
मार्कर स्पर्श होने पर केवल जानकारी विंडो दिखाने के लिए।
डीबगिंग उद्देश्यों के लिए मैं निम्नलिखित कोड जोड़ा, और मैं सही शीर्षक के साथ साथ लॉग में दिखाई दे रही है, लेकिन मैं जानकारी विंडो नहीं मिल रहा है:
map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
L.p("marker clicked " + marker.getTitle());
marker.showInfoWindow();
return false;
}
});
धन्यवाद!
आप निर्धारित किया है अंदर कुछ कोड अपनी कक्षा में घोषित एक ' OnCameraChangeListener'? यदि हां, तो क्या आप अपना 'ऑन कैमरे चेंज' कोड पोस्ट कर सकते हैं? – antonio