为了账号安全,请及时绑定邮箱和手机立即绑定

Bing 地图图钉单击事件处理程序仅适用于最后一个

Bing 地图图钉单击事件处理程序仅适用于最后一个

C#
万千封印 2021-11-21 14:40:06
我的应用程序生成了以下 Bing 地图 -该绿色图钉添加到地图后红色图钉。每个图钉都有一个点击处理程序,可以打开一个信息框。我的问题是我点击的任何图钉,它只打开绿色图钉的信息框。这是我的代码-    var center = new Microsoft.Maps.Location(24.3636, 88.6241);    var map = new Microsoft.Maps.Map(document.getElementById('myMap'), { center:center, zoom: 7 });    var color; var description;    @foreach (var item in Model.MapData)    {        <text>        var location = new Microsoft.Maps.Location(@item.Latitude,@item.Longitude);        var pushpin = new Microsoft.Maps.Pushpin(location, { color: color });        map.entities.push(pushpin);        var infobox = new Microsoft.Maps.Infobox(location, {            title: '@item.DtwId',            description: '@item.Desc',            visible: false         });        Microsoft.Maps.Events.addHandler(pushpin, 'click', function () {            infobox.setOptions({ visible: true });        });        infobox.setMap(map);        </text>    }我在这里错过了什么?
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

 var location = new Microsoft.Maps.Location(@item.Latitude,@item.Longitude);

        var pushpin = new Microsoft.Maps.Pushpin(location, { color: color });


        pushpin.metadata = {

           title: '@item.DtwId',

        description: '@item.Desc',

            franchiseNumber: 1

        };


        Microsoft.Maps.Events.addHandler(pushpin, 'click', pushpinClicked);


        map.entities.push(pushpin);



    function pushpinClicked(e) {


        var infobox = new Microsoft.Maps.Infobox(e.target.getLocation(), {

            title: e.target.metadata.title,

            description: e.target.metadata.description,

            visible: true

        });


        infobox.setMap(map);


查看完整回答
反对 回复 2021-11-21
  • 1 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信