Bing Map添加了多个图钉

时间:2010-12-17 01:10:30

标签: bing-maps pushpin

如何通过Ajax API将多个图钉添加到Bing map v7 ..?

可以从数组,列表,json或其他任何地方加载它们。

有人可以提供一个小例子吗?谢谢

1 个答案:

答案 0 :(得分:8)

您可以使用 EntityCollection 同时添加多个图钉。


示例:

<!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" />
    <script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=de-de" type="text/javascript" charset="UTF-8"></script>
</head>
<body onload="init()">


<div id="map" style="position: relative; width: 800px; height: 300px;"></div>


<script type="text/javascript">
function init(){

    // Initialize the map
    var map = new Microsoft.Maps.Map(
        document.getElementById("map"),
        {
            credentials: "YOUR-BING-KEY",
            mapTypeId: Microsoft.Maps.MapTypeId.road
        }
    );


    // Creates a collection to store multiple pins
    var pins = new Microsoft.Maps.EntityCollection();

    // Creates 5 random pins
    for (var i = 0; i < 5; i++){
        // A random position
        var position = new Microsoft.Maps.Location(Math.random() * 45, Math.random() * 90);

        // Creates a Pushpin
        var pin = new Microsoft.Maps.Pushpin(position);

        // Adds the pin to the collection instead of adding it directly to the Map
        pins.push(pin);
    }

    // Adds all pins at once
    map.entities.push(pins);
}
</script>


</body>
</html>

另外,这是另一个example using JSON and jQuery