Google地图的一些用法

这篇文章主要讲解google地图的一些自定义的用法,以及在实际项目中遇到的一些问题及解决方案,跟大家分享一下。本文不讲解google地图 SDK的接入及出现的问题,如何解决,可以去看这篇文章《iOS Google地图SDK入门教程》,讲解的很详细。

接下来讲解的内容:

1.设置google地图的缩放比例

2.添加注点(GMSMarker)

3.添加标注点显示气泡

4.设定地图显示范围

5.添加轨迹覆盖物


1.设置google地图的缩放比例

google地图的缩放比例和百度地图不一样,使用GMSCameraPosition设置地图的缩放比例。进入到GMSMutableCameraPosition类中,通过修改zoom的值,改变google地图的缩放比例。

google地图相机属性
动态相机位置

2.添加注点(GMSMarker)

添加google地图的标注点,也就是覆盖物,有两种方式:一是直接显示标注点图片;二是自定义标注点视图。如果需要添加自定义属性或者方法,可以创建一个继承于GMSMarker的类,在这个类中添加中属性和方法。

添加显示图片标注点,和百度地图一样,直接赋值icon即可。如果需要添加自定义的标注点,可以使用iconView属性(这个属性,百度地图没有)。属性详情如下:

标注点属性值

google地图添加标注点的方式和百度地图不一样,是直接设置覆盖物的地图属性为需要显示的地图;如果需要移除标志点,需要设置标注点的map = nil

标注设置显示地图

注意:标注点的偏移量,默认值为(0.5,1.0)

偏移量属性

3.添加标注点显示气泡

注意一点:如果在气泡视图中添加了UIScrollVIew/UITableView,百度地图的自定义气泡视图可以滑动,但google地图的气泡视图不可以滑动。

添加标注点显示气泡,需要实现google地图的代理方法。下面截图中的第一个方法与第二个方法的区别,第二个方法会添加一个带箭头的气泡视图,而第一个不会有。

气泡代理方法

下面截图中,是具体的实现google地图气泡代理方法,具体的思路如下:将标注点强制转换为自定义的标志点,计算出气泡的显示宽高,返回气泡视图。关键的部分是设置气泡的显示位置。还是通过GMSCameraUpdate这个类,设置视角的x方向和y方向的偏移量,这里只设置气泡的y方向的偏移量。

实现气泡代理方法
设置中心点的偏移量

4.设定地图显示范围

如果添加了多个标注点,如何将它们设置在可见范围内呢?通过GMSCoordinateBounds这个类,将所有的标注点的经纬度值,添加到这个bound中。

添加经纬度值

添加经纬度

接下来如何设置这个bound呢?使用GMSCameraUpdate这个类(更新地图的视角),使用如下方法,这个方法中,可以设置显示范围的上下左右的偏移量。

显示合适的范围

显示合适范围

接下来就是更新视角,大功告成!

动态更新视角

5.添加轨迹覆盖物

添加轨迹线,使用的是GMSPolyline,与百度地图不同的是,需要设置path。将所有的轨迹点添加到路径中。

轨迹线显示路径
添加路径的经纬度
设置轨迹线的路径和显示地图

就这么简单!

你可能感兴趣的:(Google地图的一些用法)