美文网首页ios实用开发技巧
Google地图的一些用法

Google地图的一些用法

作者: zgwyvd | 来源:发表于2017-11-17 10:03 被阅读109次

    这篇文章主要讲解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地图的一些用法

        本文链接:https://www.haomeiwen.com/subject/ajiamxtx.html