我正在尝试使用Google Maps API中的fromLatLngToPoint
。从示例中我知道它应该以这种方式完成:
var pro= map.getProjection();
var wc = proj.fromLatLngToPoint(loc);
但我已经无法访问地图对象了。谷歌搜索并尝试了几个小时后,我需要专业人士的帮助。
这是小提琴: JSFiddle
答案 0 :(得分:0)
getProjection()
在地图完成初始化之前无法使用。在访问之前,您必须等待"projection_changed"
事件。据我所知,您的代码应如下所示:
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