apple store账单:Google Map API使用详解(九)——Google Map坐标系统总结(下)

来源:百度文库 编辑:中财网 时间:2024/04/25 22:35:43

4、 DOM相对坐标系统

这里的DOM是指页面上装载地图的容器,一般是div元素。把这个坐标系统看作是基于DOM元素而不是基于地图的坐标系统或许更易于理解,这个系统里的坐标指定的是某个点在这个DOM容器里的位置,以这个容器的左上角为原点,分别向下(Y轴)和向右(X轴)延伸。所谓相对坐标,是指这个坐标系统相对地图是固定的,原点不会随地图的拖拽而变化。

在谷歌地图API中,使用GMap2.fromLatLngToContainerPixel(latlng)可以取得地图上某个点在DOM容器中的位置,相反,你可以通过GMap2.fromContainerPixelToLatLng(pixel)方法来获取DOM容器中某个位置在当前地图上的坐标。这个坐标系统在你需要在DOM容器上添加一些自定义控件并与地图交互的时候可能会有用。

 

5、 DOM绝对坐标系统

这个坐标系统是相对上一个系统来说的,从字面可以理解为这是定位在地图上而不是相对地图的坐标系统,如果你在加载地图后只是缩放而没有拖拽地图,那么你会发现这个坐标系统和DOM相对坐标系统是重合的。但是,一旦你拖拽地图,就会发现他们的差别了。结论就是,这个坐标系统的原点是与DOM容器的左上角重合的地图上的点,在拖拽地图的时候原点会随着地图变化,原点左边和上面的点使用负值表示。

这个坐标系统中的坐标和地图上的地理坐标可以用

GMap2.fromLatLngToDivPixel(latlng)、

GMap2.fromDivPixelToLatLng(pixel)

这两个方法实现相互转换,在你自定义地图上的叠加层的时候,这两个方法就可以派上用场了。

最后提一下GSize,在说到地理坐标系统的时候我提到GLatLng,这是在谷歌地图API里对地理坐标的规范表达,而在表示非地理坐标的时候,就需要用GSize这个类了,这是对以像素为单位的坐标的规范表达,和GLatLng不同的是,它的构造函数中第一个参数表示X轴的坐标,第二个参数表示Y轴的坐标。