谷歌地图API多个标记

时间:2011-11-09 13:17:02

标签: google-maps google-maps-markers

我正在尝试使用以下代码将一些标记推入谷歌地图。但它似乎没有用。地图集中在正确的位置,但我可以看到标记。

var points = [<asp:literal runat="server" id="litPoints"/>];

    $(document).ready(function () {
       var mapCenter = new google.maps.LatLng(<asp:literal runat="server" id="litMapCentre"/>);
           var options = {
               zoom:<asp:literal runat="server" id="litZoomLevel"/>, 
                center: mapCenter,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };


        var map = new google.maps.Map($("#monitorMap")[0], options);        
        GetMap(map, points);
    });






    function GetMap(map, mappoints) {       

        var image=new google.maps.MarkerImage('../Images/map/iconr.png',
                    new google.maps.Size(20,32),
                    new google.maps.Point(0,0)); 

        for(var i=1; i < points.length; i++) {
            var m=points[i];

            var mylatlng=new google.maps.LatLng(m[0], m[1]);
            var marker=new google.maps.Marker({
                position: mylatlng,
                map: map,
                icon: image}); 
         }    
}

1 个答案:

答案 0 :(得分:0)

将第二个功能更改为:

function GetMap(map, mappoints) {       

        var image=new google.maps.MarkerImage('../Images/map/iconr.png',
                    new google.maps.Size(20,32),
                    new google.maps.Point(0,0)); 

        for(var i=0; i < mappoints.length; i++) {
            var m=mappoints[i];

            var mylatlng=new google.maps.LatLng(m[0], m[1]);
            var marker=new google.maps.Marker({
                position: mylatlng,
                map: map,
                icon: image}); 
         }   

您正在创建一个名为mappoints的变量,但后来将其称为点。 javascript数组也是零索引的,所以如果循环遍历它们,你通常需要从0开始,而不是从1开始。