1

我正在尝试使用谷歌地图 V3 绘制 10 多个标记,但它在 10 处停止。我没有对标记进行地理编码,我已经有了纬度/经度。有谁知道我为什么会遇到这个问题?下面是我正在使用的代码,这并不疯狂。

var map = null;
var infowindow = null;
$(document).ready(function () {
    var venueLatLng = new google.maps.LatLng($('#hdnVenueLat').val(), $('#hdnVenueLng').val());
    var options = {
        center: venueLatLng,
        zoom: 15,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), options);
    var marker = new google.maps.Marker({
        position: venueLatLng,
        map: map,
        title: $("#hdnVenueName").val()
    });
    drawPoints();
    infowindow = new google.maps.InfoWindow();
    $('.listing').click(function () {
        drawInfoWindow(markers[$(this).data('id')])
    })
})

function drawPoints() {
    var center = new google.maps.LatLng($('#hdnVenueLat').val(), $('#hdnVenueLng').val());
    var bounds = new google.maps.LatLngBounds();
    $('.listing').each(function (index) {
        var lat = $(this).data('lat').toString();
        var lng = $(this).data('lng').toString();
        var latLng = new google.maps.LatLng(lat, lng);
        var id = $(this).data('id').toString();
        var marker = new google.maps.Marker(
            {
                id: id,
                position: latLng,
                icon: new google.maps.MarkerImage('/images/map-sprites.png', new google.maps.Size(26, 33), getImagePos(index)),
                //shadow: new google.maps.MarkerImage('/images/map-sprites.png', new google.maps.Size(36, 24), new google.maps.Point(35, 345), new google.maps.Point(4, 15)),
                map: map,
                title: $(this).data('name')
            }
         );
        google.maps.event.addListener(marker, 'click', function () {
            drawInfoWindow(marker);
        });
        markers[id] = marker;
        bounds.extend(new google.maps.LatLng(lat, lng));
    })
    map.fitBounds(bounds);
}
4

1 回答 1

0

kaliatech - 你说得对。谷歌将自定义图标的数量限制为同时在地图上显示 10 个,这非常棒。谢谢你的帮助。

于 2012-07-21T18:30:25.743 回答