热门访问谷歌地图对象以获取LatLngToPoint

时间:2015-03-04 10:17:42

标签: javascript google-maps

我正在尝试使用Google Maps API中的fromLatLngToPoint。从示例中我知道它应该以这种方式完成:

var pro= map.getProjection(); var wc = proj.fromLatLngToPoint(loc);

但我已经无法访问地图对象了。谷歌搜索并尝试了几个小时后,我需要专业人士的帮助。

这是小提琴: JSFiddle

1 个答案:

答案 0 :(得分:0)

  1. getProjection()在地图完成初始化之前无法使用。在访问之前,您必须等待"projection_changed"事件。
  2. 据我所知,您的代码应如下所示:

    var map, pro;
    var loc = new google.maps.LatLng(52.5498783, 13.425209099999961);
    function initialize() {
        var mapOptions = {
            zoom: 14,
            center: loc,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scroll: {
                x: 0,
                y: $(window).scrollTop()
            },
        };
        map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
        new google.maps.Marker({
            map: map,
            position: map.getCenter()
        });
        google.maps.event.addListenerOnce(map,"projection_changed", function() {
           $(console).text(map.getProjection().fromLatLngToPoint(loc).toString());
            console.log(map.getProjection().fromLatLngToPoint(loc).toString());
         });
    
    } //end function
    google.maps.event.addDomListener(window, 'load', initialize);
    

    这是jsfiddle