基于Google Map的路线规划
本文将主要介绍一下关于google map的常用API,最后通过常用API实现一个自定义行程路线的小例子。
要使用Google Map API,必须具有API密钥,具体信息请查看官网。
通过标签引入
通过的方式调用地图api
不过呢,官网提供的API地址对于国内用户会存在梯子的问题,所幸,还有两个不需要梯子的API网址:
的第二个参数即为地图的配置参数,常用参数如下:
既然可以初始化配置参数,那,又该如何动态修改配置参数呢?对于和,我们可以通过直接调用相应的API进行修改:和。那对于其他参数可以通过进行修改。控件的具体详情请查看官网。
标记可识别地图上的位置。默认情况下,标记使用标准图像。标记可以显示自定义图像,在这种情况下,它们通常称为“图标”。标记和图标是类型的对象 Marker。您可以在标记的构造函数中设置自定义图标,也可以通过调用标记来设置自定义图标setIcon()。
通过构造函数生成指定的标记:
从地图上删除指定标记,同样需要调用方法:
不过此操作只是把指定地图上的标记删除了,依旧可以通过添加到指定地图中,若想真正删除当前标记,需设置标记为:
如果只能显示默认的标记那肯定就不好玩了,那接下来我们可以通过icon设置指定的自定义图标:
如果说只是图像的url路径,肯定还是不过瘾的,接下来可以进行更加复杂的设置:
通过进行标记的动态修改:
具体可以通过下面的demo展示。
标记的详情请查看官网API
形状是地图上的一个对象,与纬度/经度坐标相关联。可以使用以下形状: 线,多边形, 圆形和矩形。您还可以配置形状,以便用户可以编辑或拖动它们。
接下来,我们主要介绍一下折线的API,其他形状详情请查看官网。
通过 构造函数生成指定的折线,该函数常用参数如下:
指定格式的十六进制HTML颜色"#FFFFFF",不支持命名的颜色。
取值范围:[0.0, 1.0],1.0以确定线条颜色的不透明度。默认值为1.0。
线条的宽度(以像素为单位)。
折线的删除方式和上述标记的删除方式一样,通过进行添加和删除,同样也只是在地图中移除折线,只有将折线本身设置为才是真正的删除。
想要在折线中添加标记,那我们不得不介绍一下,其返回type数组。可以通过一下方法操作折线变化:
返回索引值对应的LatLng对象(从0开始)。
在索引值处插入一个Latlng对象(即插入标记),其后面标记点向后依次移动(类似数组操作)。
删除索引值处的Latlng对象。
下面,我们将实现一个小的例子:路线规划。
首先,将城市添加到地图中,生成标记。
有时候,我们可能想要通过自动触发标记的绑定事件,那我们可以通过方法来实现:
看到这里,大家可能会想:一般地图上的标记不仅显示一个图像,同时还可以显示当前城市名称,那这个功能,我们就可以用上述提到的来实现。
首先官网给我们提供了一个简单的例子,通过自定义弹出层来实现,根据官网要求,在用户自定义弹出层时,必须实现以下三个方法:,和。优化代码如下:
使用自定义弹出层类,同时要注意,在创建弹出层时,一定为其增加,否则弹出层位置会出现偏差。
通过生成指定路线,同时点击城市标记进行添加。
直接点击想要添加的城市标记,便可以把当前城市添加到路线(即添加到地图折线中),同时,为了把添加和为添加的城市做区分,可以通过进行修改标记图像。
若想删除城市,我们可以遍历获取当前城市在路线中的位置,然后通过进行删除。
版权说明:
1.版权归本网站或原作者所有;
2.未经本网或原作者允许不得转载本文内容,否则将视为侵权;
3.转载或者引用本文内容请注明来源及原作者;
4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。