पर क्लिक इवेंट श्रोता जोड़ें जोड़ना मुझे बिंग मैप्स में EntityClickedListener
के साथ समस्या हो रही है। मैं इसे दिए गए उदाहरण निम्न कोडेड:पुशपिन
map.setEntityClickedListener(new EntityClickedListener()
{
@Override
public void onAvailableChecked(String layerName, int entityId)
{
HashMap<String, Object> metadata = map.getLayerManager.GetMetadataByID(layerName, entityId);
Toast.makeText(Activity.this, metadata.toString(), Toast.LENGTH_LONG)
.show();
}
});
हालांकि, Pushpin
पर क्लिक कुछ नहीं करता है। मैंने मेटाडेटा में वास्तव में क्या देखने के लिए टोस्ट संदेश बनाया लेकिन कुछ भी नहीं हुआ। पथ के माध्यम से आवेदन देखते हुए, मैं बता सकता है कि बिंग एक डेटा सेवा को पुन: प्राप्त करने के लिए अपनी जानकारी का उपयोग करता:
bsds.FindByAreaCompleted = new Handler(){
public void handleMessage(Message msg) {
if(msg.obj != null){
Record[] records = (Record[])msg.obj;
EntityLayer el = (EntityLayer)bingMapsView.getLayerManager().getLayerByName(Constants.DataLayers.Search);
double maxLat = -90, minLat = 90, maxLon = -180, minLon = 180;
for(Record r : records){
Pushpin p = new Pushpin(r.Location);
p.Title = r.DisplayName;
HashMap<String, Object> metadata = new HashMap<String, Object>();
metadata.put("record", r);
el.add(p, metadata);
}
bingMapsView.setMapView(new LocationRect(maxLat, maxLon, minLat, minLon));
el.updateLayer();
}
};
मैं भी JavaScript फ़ाइल संपादित कर लिया है कुछ चेकिंग कि काम करने से Listener
रोक सकती है दूर करने के लिए:
this.ShowInfobox = function(entity){
window.BingMapsInterlop.entityClicked(entity.layerName, entityId);
};
var Layer = function(name, map, dataLayer)
{
this.Name = name;
var entities = new MM.EntityCollection(),
_map = map;
this.AddEntities = function(data)
{
if(data != null)
{
var i = data.length - 1;
if (i >= 0)
{
do
{
data[i].Entity.entityId = data[i].EntityId;
data[i].Entity.layerName = name;
// Commented out
// if(data[i].title != null && data[i].title != undefined && data[i].title != '')
// {
data[i].Entity.title = data[i].title;
MM.Events.addHandler(data[i].Entity, 'click', function(e)
{
BingMapsAndroid.ShowInfobox(e.target);
});
// }
entities.push(data[i].Entity);
}
while (i--)
}
}
};
// fluff
};
क्या मैंने जावास्क्रिप्ट फ़ाइल को सही ढंग से संपादित किया है? मुझे खुद जावास्क्रिप्ट नहीं पता है और मैं this guide का पालन कर रहा हूं। Pushpin
जोड़ा जा रहा है और मैं अपने BingMapsView
पर देख रहा हूं, लेकिन OnClick
विधि निष्पादित नहीं होती है। क्या मुझे कुछ याद आ रही है?
बिंग जो श्रोताओं को बनाने के लिए लेता है Pushpin
के लिए घटनाओं पर क्लिक करें मेरी राय में घटनाएं लगभग भूलभुलैया है। ऐसा करने का एक आसान तरीका होना चाहिए कि मैं याद कर रहा हूं। क्या कोई सलाह दे सकता है?
यह देखने की समस्या हो सकती है ओवरले –
क्या किसी के पास बिंग मैप्स के लिए 'EntityClickListener' का कोड कोड है? यदि आप मुझे कुछ कोड दे सकते हैं तो मैं इसे स्वयं समझने की कोशिश कर सकता हूं। मैं पिछले कुछ हफ्तों से इस पर अपने बालों को फाड़ रहा हूं। –
हाय @Yawus, क्या आपने इस लिंक को आजमाया है, http://bingmapsandroidsdk.codeplex.com/discussions/263960/ –