google-maps - google.maps.Projection 类的作用是什么?

标签 google-maps google-maps-api-3 map-projections

最近我发现了在屏幕上的 LatLngs 和像素坐标之间进行转换的困难方法,我不应该使用 Projection可以通过 Map.getProjection 轻松访问的类,但我应该使用 MapCanvasProjection只能通过 OverlayView 访问的类。

如果您正在使用自定义叠加层,则后者非常好用且方便,但如果您没有使用自定义叠加层,则访问 MapCanvasProjection 会非常痛苦。到目前为止,我已经通过向 Map 类添加一个方法来自己解决了这个问题,这将使我可以轻松访问所需的投影类:

google.maps.Map.prototype.getCanvasProjection = function() {
  if (!this.projectionOverlay) {
    this.projectionOverlay = new google.maps.OverlayView();
    this.projectionOverlay.onAdd = function(){};
    this.projectionOverlay.onRemove = function(){};
    this.projectionOverlay.draw = function(){};
    this.projectionOverlay.setMap(this);
  }
  return this.projectionOverlay.getProjection();
};

这一切看起来像是一个大黑客来完成一些本来应该是微不足道的事情。这让我更加想知道 google.maps.Projection 是什么意思?类做什么?当我阅读文档时,在我看来, Projection.fromLatLngToPointMapCanvasProjection.fromLatLngToContainerPixel 执行相同的操作,但事实并非如此。我很困惑。

最佳答案

Projection.fromLatLngToPoint 表示从纬度经度转换为墨卡托投影。 MapCanvasProjection 进行像素投影(包括墨卡托投影)。

关于google-maps - google.maps.Projection 类的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5776444/

相关文章:

google-maps - 谷歌地图认为我正在发送自动请求

javascript - d3 中的 Lambert 圆锥共形投影

java - 应用程序在尝试添加标记时抛出异常 "Not in the main thread"

javascript - 谷歌地图倾斜 View 与默认 map 类型

javascript - Google map 自动完成(销毁和重用)

javascript - 在谷歌地图中更改融合表样式的监听器事件

javascript - Google 将 api autoComplete 不显示下拉列表

google-maps - 如何避免对标记点击事件监听器使用匿名回调函数?

r - 在不规则网格上绘制数据的有效方法

geojson - 如何将没有 crs 属性的 GeoJSON 重新投影到 WGS84(使用 React Leaflet)