【发布时间】:2015-07-05 16:10:23
【问题描述】:
我试图通过使用 fromLatLngToContainerPixel(LatLng) 函数获取市场的像素坐标。 我不知道如何使用它,但是在搜索了一些示例之后,我想我明白了。问题是函数返回总是“未定义”。
谷歌地图 api 参考:https://developers.google.com/maps/documentation/javascript/reference?csw=1#MapCanvasProjection
请帮忙。
代码:
var map, overlay;
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882, 131.044922);
map = new google.maps.Map(document.getElementById('gMap'), {
zoom : 13,
center : myLatlng,
disableDefaultUI: true,
draggable: false,
scrollwheel: false,
disableDoubleClickZoom: true
});
var overlay = new google.maps.OverlayView();
overlay.draw = function () {};
overlay.setMap(map);
var marker = new google.maps.Marker({
position: myLatlng,
optimized: false,
map:map
});
var projection = overlay.getProjection();
var pixel = projection.fromLatLngToContainerPixel(marker.getPosition());
console.log(pixel);
}
google.maps.event.addDomListener(window, 'load', initialize);
【问题讨论】:
-
你说函数总是返回“未定义”。但是哪个功能?你的 sn-p 中唯一有用的是
initialize(),它根本不会返回任何东西。那么问题出在哪里?