Javascript 如何从图钉内的图钉选项获取信息框

Javascript 如何从图钉内的图钉选项获取信息框,javascript,html,bing-maps,Javascript,Html,Bing Maps,我将Bing地图与html5和JavaScript结合使用 我想知道是否有可能使用JavaScript从图钉内的图钉选项获取信息框 我在JavaScript中有类似的内容: var location = new Microsoft.Maps.Location(latitude, longitude); var pinInfoBox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(latitude, longitude), { i

我将Bing地图与html5和JavaScript结合使用

我想知道是否有可能使用JavaScript从
图钉内的
图钉选项
获取
信息框

我在JavaScript中有类似的内容:

var location = new Microsoft.Maps.Location(latitude, longitude);

var pinInfoBox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(latitude, longitude), { id: "Id_" + p_Data[i][0], title: desc, visible: true });

var pushPinOption = { icon: etat, width: 30, height: 50, infobox: pinInfoBox };

var pushPin = new Microsoft.Maps.Pushpin(location, pushPinOption);

map.entities.push(pushPin);
m_VehiculeArray.push(pushPin);
在另一个使用JavaScript的函数中,我可以访问我的
pushpin
,但我不知道如何检索
pushpinOption
,最后是
infobox
。我需要读取“id”属性


你能帮我吗?

我不太清楚你想做什么,但是如果你认为这不能满足你的需要,请解释一下你想实现什么功能,这样我们可以提供帮助

无论如何,如果您计划从子属性(如图钉>图钉选项>信息框)检索信息,您将有多种可能实现它,但一种可能是利用Bing Maps Ajax V7控件附带的扩展功能,下面的示例将说明如何在图钉对象上保留具体的附加属性

示例代码

请参见下面的示例代码,该代码将说明扩展功能的用法:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Bing Maps for Enterprise - Extension</title>
    <script type="text/javascript" charset="UTF-8" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0">
    </script>
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">

        var map = null;
        var polygon = null;

        // Extension
        if (typeof (Microsoft) !== 'undefined') {
            if (typeof (Microsoft.Maps) !== 'undefined') {
                Microsoft.Maps.Pushpin.prototype.dataObject = null,
                Microsoft.Maps.Pushpin.prototype.id = null
            }
        }

        function getMap() {

            // Initialize the map
            map = new Microsoft.Maps.Map($('#map').get(0), {
                credentials: "BINGMAPSKEY",
                center: new Microsoft.Maps.Location(47.5, 2.75),
                zoom: 4,
                mapTypeId: Microsoft.Maps.MapTypeId.road,
                maxZoomLevel: 28
            });

            pin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(45, 2));
            pin.id = "pin-myid";
            pin.dataObject = {
                title: 'My pushpin',
                description: 'Short description'
            };
            map.entities.push(pin);
            Microsoft.Maps.Events.addHandler(pin, 'click', clickPin);
        }

        function clickPin(e) {
            if (e.targetType == 'pushpin') {
                alert(e.target.id + ' == ' + e.target.dataObject.title);
            }
        }    

    </script>
</head>
<body onload="getMap();">
    <div id="map" style="position: relative; width: 800px; height: 600px;">
    </div>
</body>
</html>

Bing企业地图-扩展
var-map=null;
var多边形=空;
//延伸
if(typeof(Microsoft)!=‘未定义’){
if(typeof(Microsoft.Maps)!=‘未定义’){
Microsoft.Maps.Pushpin.prototype.dataObject=null,
Microsoft.Maps.Pushpin.prototype.id=null
}
}
函数getMap(){
//初始化映射
map=new Microsoft.Maps.map($('#map').get(0){
凭证:“BINGMAPSKEY”,
中心:新的Microsoft.Maps.Location(47.5,2.75),
缩放:4,
mapTypeId:Microsoft.Maps.mapTypeId.road,
maxZoomLevel:28
});
pin=新的Microsoft.Maps.Pushpin(新的Microsoft.Maps.Location(45,2));
pin.id=“pin myid”;
pin.dataObject={
标题:“我的图钉”,
描述:“简短描述”
};
地图。实体。推(销);
Microsoft.Maps.Events.addHandler(pin,'click',clickPin);
}
功能点击PIN(e){
如果(例如targetType=='pushpin'){
警报(e.target.id+'='+e.target.dataObject.title);
}
}    
更多信息

如果您需要有关扩展功能的更多信息,请参阅我的博文(法语),此处提供:


谢谢您的解释和样品。是的,这正是我所需要的。很好,请毫不犹豫地将其标记为已回答,以便人们能够找到类似问题的可能解决方案。如果您有任何问题,请随时在此寻求帮助。