【问题标题】:google maps api v3: top and left pixel position of markergoogle maps api v3:标记的顶部和左侧像素位置
【发布时间】:2012-01-04 02:30:47
【问题描述】:

我想在 google map api v3 中检索标记的顶部和左侧位置(以像素为单位)。如何才能做到这一点?我知道使用fromLatLngToDivPixel() 有一些提示,但我可以知道它是如何工作的吗?例子?

【问题讨论】:

标签: google-maps google-maps-api-3 google-maps-markers


【解决方案1】:

您的意思是 div 内的像素坐标?看http://qfox.nl/notes/116

overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var point = overlay.getProjection().fromLatLngToContainerPixel(latLng); 

var point = overlay.getProjection().fromLatLngToDivPixel(latLng);

确实很丑。在 v2 中要容易得多,这些方法直接是 GMap2 对象的方法。 google api v3 的又一个缺陷!

【讨论】:

  • 您是否需要在每次想要获得像素读数时初始化一个新的叠加层?或者您可以重复使用相同的叠加层(即使地图已更改缩放)?
【解决方案2】:

如果您在覆盖undefined 时遇到问题,那是因为对象是在地图为idle 之后创建的。

最好在事件监听器中调用它,这里有完整的解释https://stackoverflow.com/a/6657723/4026345

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 2011-02-10
    • 1970-01-01
    • 2012-01-28
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    相关资源
    最近更新 更多