Bing Haritalar'da EntityClickedListener
ile sorun yaşıyorum. Ben Verilen örnekte aşağıdaki bunu kodlanmış:Tıklama Olayı Dinleyicisi'ni Pushpin'e Ekleme
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();
}
});
Ancak Pushpin
tıklayarak şey yapmaz. Meta verilerde tam olarak ne olduğunu görmek için bir Tost mesajı oluşturdum ama hiçbir şey olmuyor. Ben de çalışmasını Listener
engellemiş olabilir bazı kontroller kaldırmak için JavaScript dosyası kaydetmiştiniz
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();
}
};
: yolundan uygulama bakınca, Bing almak için onun bilgileri bir veri hizmeti kullandığını söyleyebilir
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
};
JavaScript dosyasını doğru şekilde düzenledim mi? JavaScript'i kendim bilmiyorum ve this guide'u takip ediyorum. Pushpin
ekleniyor ve BingMapsView
üzerinde görüyorum, ancak OnClick
yöntemi yürütülmez. Kaybettiğim bir şey mi var?
Bing, Dinleyici ve etkinlik oluşturmak için Pushpin
tıklatma olayları oluşturmak için aldığım yol, düşünceme göre neredeyse bir labirenttir. Bunu yapmamın daha basit bir yolu olmalı. Herhangi bir tavsiye veren var mı?
görüntü bozukluğuyla ilgili bir sorun olabilir –
Bing Maps için "EntityClickListener" çalışma koduna sahip olan var mı? Eğer bana biraz kod verebilirsen, kendimi anlamaya çalışabilirim. Son birkaç haftadır saçlarımı yırttıyorum. –
Merhaba @Yawus, bu bağlantıyı denediniz mi, http://bingmapsandroidsdk.codeplex.com/discussions/263960/ –