googleMap

来自于:开发者 立即使用

基础类

open close show hide setType setLocationButton setCompassButton setTraffic setBuildings setRect getLocation getLocationForAPI stopLocation stopLocationForAPI getCoordsFromName getNameFromCoords getDistance showUserLocation setCenter getCenter getZoomExtremity setZoomLevel getZoomLevel addEventListener removeEventListener

添加标注类

addAnnotations addAnnotationListener getAnnotationCoords setAnnotationCoords setAnnotationIcon removeAnnotations setBubble

搜索类

searchRoute drawRoute removeRoute

在地图上绘图

addLine addPolygon addCircle addGroundOverlay removeLayer

概述

谷歌地图简介

谷歌地图 是 Google 公司提供的电子地图服务,包括局部详细的卫星照片。该模块可以打开关闭地图视图,获取当前定位,坐标与地理位置的转换,添加标注,监听地图事件等功能。 使用此模块,手机上必须安装Google Play服务、Googel Play Store。

googleMap - 图1

使用此模块之前必须先配置 config 文件,配置方法如下:

同一个 App 需要同时支持 iOS 和 Android 平台,必须单独申请各自的 apiKey,并同时配置在 config 文件中

支持 android 平台时的配置方法:

  • 配置示例:
  1. <meta-data
  2. name="com.google.android.geo.API_KEY"
  3. value="AIzaSyC-bJcAa1ZCr5Pudsuky16f2vk3DyRTn54" />
  4. <feature name="googleMap">
  5. <param name="android_api_key" value="AIzaSyAPLwmxjyqqXjJ6g_5MSra5mzKElqIUZsz" />
  6. </feature>
  7. <meta-data
  8. name="com.google.android.gms.version"
  9. value="11020000" />

value是在谷歌申请的apiKey,如果有ios平台,android_api_key应该和ios的ios_api_key配置在一个节点(googleMap)下面

注:从1.0.4版本开始需要配置com.google.android.gms.version,其中value值固定(11020000);如果和googleAnalytics、googlePush模块同时编译,可以共用一个

(模块1.1.1以及以后版本无需配置com.google.android.gms.version)

支持 iOS 平台时的配置方法:

  • 名称:googleMap
  • 参数:ios_api_key,ios_directions_key
  • 配置示例:
  1. <feature name="googleMap">
  2. <param name="ios_api_key" value="AIzaSyAPLwmxjyqqXjJ6g_5MSra5mzKElqIUZsz" />
  3. <param name="ios_directions_key" value="AIzaSyAyeQp1HxV71ynKRRnsS40vEJcCYdyn3Rs" />
  4. </feature>
  • 字段描述:

    ios_api_key:在谷歌地图开放平台申请的 iOS 端 AK ios_directions_key:在谷歌地图开放平台申请的 iOS 端 AK

    ios_api_key申请方法见旧版 Google Maps Mobile SDK for Work:iOS —- 从 Google API Console 中获取 API 密钥

    ios_directions_key申请方法:获取 API 密钥

    注意:请确保您的 ak 正确性,否则地图加载异常,在 ios 平台最低适配版本为 iOS 8.0

使用本模块定位相关接口获取的坐标数据是 GPS 坐标系,若通过此数据显示在中国区地图上需转换为火星坐标,否则会有很大偏差。若显示在国外区域地图上则不用转换,因为谷歌地图中国区域跟外国区域使用的坐标系不一样。关于地图坐标系的知识可自行查阅相关资料。

模块接口

open

打开谷歌地图

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
  3. y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
  4. w: 320, //(可选项)数字类型;地图的宽度;默认:'auto'
  5. h: 480 //(可选项)数字类型;地图的高度;默认:'auto'
  6. }

center:

  • 类型:数字
  • 描述:(可选项)打开地图时设置的中心点经纬度
  • 内部字段:
  1. {
  2. lon: 116.213, //数字类型;打开地图时设置的中心点经度
  3. lat: 39.213 //数字类型;打开地图时设置的中心点纬度
  4. }

zoomLevel:

  • 类型:数字
  • 描述:(可选项)设置谷歌地图缩放等级,取值范围:1-21级(Android)、getZoomExtremity接口获取(iOS)
  • 默认值:10

showUserLocation:

  • 类型:布尔
  • 描述:(可选项)是否在地图上显示用户位置
  • 默认值:true

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.open({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: 320,
  7. h: 300
  8. },
  9. showUserLocation: true,
  10. zoomLevel: 11,
  11. center: {
  12. lon: 116.4021310000,
  13. lat: 39.9994480000
  14. },
  15. fixedOn: api.frameName,
  16. fixed: true
  17. }, function(ret) {
  18. if (ret.status) {
  19. alert(JSON.stringify(ret));
  20. }
  21. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭谷歌地图

close()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示谷歌地图

show()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.show();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏谷歌地图

hide()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.hide();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setType

设置地图类型

setType({params})

params

type:

  • 类型:字符串
  • 描述:指定的地图的类型
  • 默认:normal
  • 取值范围:
    • normal:典型道路地图。显示道路、人类建造的一些特征以及河流等重要的自然特征。
    • satellite:卫星照片数据。不显示道路和景观标签。
    • terrain:地形数据。 地图包含颜色、轮廓线和标签以及透视阴影。
    • hybrid:添加了道路地图的卫星照片数据。 此外,还会显示道路和景观标签。
    • none:无地图图块。 不会呈现基本地图图块。

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setType({
  3. type: 'setellite'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTraffic

设置地图是否显示交通路况

setTraffic({params})

params

traffic:

  • 类型:布尔
  • 描述:是否显示交通路况
  • 默认:false

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setTraffic({
  3. traffic: true
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setLocationButton

设置地图是否显示定位按钮

setLocationButton({params})

params

locationButton:

  • 类型:布尔
  • 描述:是否显示定位按钮
  • 默认:false

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setLocationButton({
  3. locationButton: true
  4. });

可用性

iOS系统

可提供的1.0.0及更高版本

setCompassButton

设置地图是否显示指南针

setCompassButton({params})

params

compassButton:

  • 类型:布尔
  • 描述:是否显示指南针
  • 默认:false

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setCompassButton({
  3. compassButton: true
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBuildings

设置地图是否显示建筑

setBuildings({params})

params

buildings:

  • 类型:布尔
  • 描述:是否显示建筑
  • 默认:false

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setBuildings({
  3. buildings: true
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRect

重设地图的显示区域

setRect({params})

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;地图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:原值
  3. y: 0, //(可选项)数字类型;地图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:原值
  4. w: 320, //(可选项)数字类型;地图的宽度;默认:原值
  5. h: 480 //(可选项)数字类型;地图的高度;默认:原值
  6. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setRect({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: 320,
  7. h: 300
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocation

获取当前位置信息,若要支持后台定位需配置 config.xml 文件 location 字段,无需调用 open 接口即可使用

注:getLocationForAPI 和 getLocation 两个的区别是:

1、getLocation 接口使用的是原生自带的 api 去请求位置;getLocationForAPI 接口用的是谷歌地图自带的 api 去请求位置信息,因此需要连接上Google Play 服务;

2、停止定位需要对应的接口,getLocationForAPI-stopLocationForAPI(iOS端是直接获取当前位置,无需停止);getLocation-stopLocation

3、android 上推荐使用 getLocationForAPI 接口

getLocation({params}, callback(ret))

params

autoStop:

  • 类型:布尔
  • 描述:(可选项)获取到位置信息后是否自动停止定位
  • 默认值:true

locationType:

  • 类型:字符串
  • 描述:(可选项)获取定位的方式 (ios不支持)
  • 默认值:gps
  • 取值范围
    • gps
    • network (需要用户打开手机设置里面的位置信息,并选择使用wlan或者移动数据定位方式)

accuracy:

  • 类型:字符串
  • 描述:(可选项)定位精度,仅支持 iOS 端
  • 默认值:’100m’
  • 取值范围:
    • 10m
    • 100m
    • 1km
    • 3km

filter:

  • 类型:数字
  • 描述:(可选项)位置更新所需的最小距离(单位米),autoStop 为 true 时,此参数有效,仅支持 iOS 端
  • 默认值:1.0

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. lon: 116.213, //数字类型;经度
  4. lat: 39.213, //数字类型;纬度
  5. accuracy: 65, //数字类型;本次定位的精度,仅支持 iOS 平台
  6. timestamp: 1396068155591, //数字类型;时间戳
  7. heading:200, //数字类型;设备方向,取值范围:0.0(正北) - 359.9
  8. altitude: 200 //数字类型;当前设备所处的海拔信息
  9. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getLocation(function(ret) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getLocationForAPI

获取当前位置信息,若要支持后台定位需配置 config.xml 文件 location 字段,无需调用 open 接口即可使用

注:getLocationForAPI 和 getLocation 两个的区别是:

1、getLocation 接口使用的是原生自带的 api 去请求位置;getLocationForAPI 接口用的是谷歌地图自带的 api 去请求位置信息,因此需要连接上Google Play 服务;

2、停止定位需要对应的接口,getLocationForAPI-stopLocationForAPI(iOS端是直接获取当前位置,无需停止);getLocation-stopLocation

3、android 上推荐使用 getLocationForAPI 接口

getLocationForAPI({params}, callback(ret))

params

autoStop:

  • 类型:布尔
  • 描述:(可选项)获取到位置信息后是否自动停止定位
  • 默认值:true

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. errCode: 1000, //数字类型;在status为false时有值;错误码(一般在无法连接google play时返回)
  4. errMsg:"", //字符串类型;在status为false时有值;错误信息(一般在无法连接google play时返回)
  5. lon: 116.213, //数字类型;经度
  6. lat: 39.213, //数字类型;纬度
  7. accuracy: 65, //数字类型;本次定位的精度
  8. timestamp: 1396068155591, //数字类型;时间戳
  9. heading:200, //数字类型;设备方向,取值范围:0.0(正北) - 359.9
  10. altitude: 200 //数字类型;当前设备所处的海拔信息
  11. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getLocationForAPI(function(ret) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的 1.0.3 及更高版本

stopLocation

停止定位

stopLocation()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.stopLocation();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopLocationForAPI

停止定位

stopLocationForAPI()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.stopLocationForAPI();

可用性

Android系统

可提供的1.0.3及更高版本

getCoordsFromName

根据地址查找经纬度,无需调用 open 接口即可使用

注意:

在 ios 平台谷歌地图不支持地理编码,需要自己构造一个网络请求,然后自己做相应处理。谷歌的地理编码用到的是 Google Maps Geocoding API 首先需要去谷歌的开发者后台激活Google Maps Geocoding API,Key需要作为一个参数拼接到网络请求后面。 例如:https://maps.googleapis.com/maps/api/geocode/json?address= Staples Center&key=API_KEY 需要注意的是,普通用户 API 每天只能进行2500次请求,想要增加配合需要付费。

android平也支持使用以上方法进行获取

getCoordsFromName({params}, callback(ret, err))

params

city:

  • 类型:字符串
  • 描述:所要搜索的地址所在的城市,cityname(中文或中文全拼)、citycode、adcode

address:

  • 类型:字符串
  • 描述:完整的地址信息

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. lon: 116.351, //数字类型;地址所在经度
  4. lat: 39.283 //数字类型;地址所在纬度
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1 //数字类型;错误码
  3. msg: //字符串类型;错误描述
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getCoordsFromName({
  3. city: '北京',
  4. address: '天安门'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

Android系统

可提供的1.0.0及更高版本

getNameFromCoords

根据经纬度查找地址信息,无需调用 open 接口即可使用

getNameFromCoords({params}, callback(ret))

params

lon:

  • 类型:数字
  • 描述:经度

lat:

  • 类型:数字
  • 描述:纬度

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false,
  3. addressLines:[] //数组类型;地址名称数组(仅支持Android)
  4. state: '', //字符串类型;省份
  5. city: '', //字符串类型;城市
  6. district: '', //字符串类型;县区(仅支持ios)
  7. thoroughfare: '', //字符串类型;社区
  8. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getNameFromCoords({
  3. lon: 116.384767,
  4. lat: 39.989539
  5. }, function(ret) {
  6. if (ret.status) {
  7. alert(JSON.stringify(ret));
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDistance

获取地图两点之间的距离,无需调用 open 接口即可使用

getDistance({params}, callback(ret))

params

start:

  • 类型:JSON 对象
  • 描述:起点经纬度
  • 内部字段:
  1. {
  2. lon: 106.486654, //数字类型;起点的经度
  3. lat: 29.490295 //数字类型;起点的纬度
  4. }

end:

  • 类型:JSON 对象
  • 描述:终点经纬度
  • 内部字段:
  1. {
  2. lon: 106.581515, //数字类型;终点的经度
  3. lat: 29.615467 //数字类型;终点的纬度
  4. }

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. distance: 16670.90 //数字类型;两点之间的距离,单位:米
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getDistance({
  3. start: {
  4. lon: 106.486654,
  5. lat: 29.490295
  6. },
  7. end: {
  8. lon: 106.581515,
  9. lat: 29.615467
  10. }
  11. }, function(ret) {
  12. if (ret.status) {
  13. alert(JSON.stringify(ret));
  14. }
  15. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showUserLocation

是否在地图上显示用户位置

showUserLocation({params})

params

isShow:

  • 类型:布尔
  • 描述:(可选项)是否显示用户位置
  • 默认值:true

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.showUserLocation({
  3. isShow: true
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCenter

根据经纬度设置谷歌地图中心点

setCenter({params})

params

coords:

  • 类型:JSON 对象
  • 描述:(可选项)中心点的经纬度
  • 内部字段:
  1. {
  2. lon: 116.404, //(可选项)数字类型;设置中心点的经度
  3. lat: 39.915 //(可选项)数字类型;设置中心点的纬度
  4. }

animation:

  • 类型:布尔类型
  • 描述:(可选项)设置地图的中心点时,是否带动画效果
  • 默认:true

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setCenter({
  3. coords: {
  4. lon: 116.404,
  5. lat: 39.915
  6. },
  7. animation: false
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCenter

获取谷歌地图中心点坐标

getCenter(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. lon: 116.404, //数字类型;地图中心点的经度
  3. lat: 39.915 //数字类型;地图中心点的纬度
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getCenter(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getZoomExtremity

获取谷歌地图缩放最大、最小值

getZoomExtremity(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. min: 0, //数字类型;最小值
  3. max: 26 //数字类型;最大值
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getZoomExtremity(function(ret){
  3. if (ret) {
  4. api.alert({msg:JSON.stringify(ret)});
  5. }
  6. });

可用性

iOS系统

可提供的1.0.0及更高版本

setZoomLevel

设置谷歌地图缩放等级

setZoomLevel({params})

params

level:

  • 类型:数字
  • 描述:(可选项)地图比例尺级别,取值范围:1-21级(Android)、通过getZoomExtremity接口获得(iOS)
  • 默认值:10

animation:

  • 类型:布尔类型
  • 描述:(可选项)地图缩放时,是否带动画效果
  • 默认:true

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setZoomLevel({
  3. level: 10,
  4. animation: true
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getZoomLevel

获取地图缩放级别取值范围:1-21级(Android)、通过getZoomExtremity接口获得(iOS)

getZoomLevel(callback(ret))

callback

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. level: 11 //数字类型;地图当前缩放级别
  3. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getZoomLevel(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

监听地图相关事件

addEventListener({params}, callback(ret))

params

name:

  • 类型:字符串
  • 描述:地图相关事件名称
  • 取值范围:
    • longPress(长按事件)
    • viewChange(视角改变事件)
    • click(单击事件)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. lon: 116.351, //数字类型;触发事件的地点的经度(longPress,click),地图中心的经度(viewChange,zoom)
  4. lat: 39.283, //数字类型;触发事件的地点的纬度(longPress,click),地图中心的纬度(viewChange,zoom)
  5. zoom: 11, //数字类型;地图缩放角度
  6. rotate: 30, //数字类型;地图旋转角度
  7. overlook: 30, //数字类型;视角倾斜度
  8. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addEventListener({
  3. name: 'longPress'
  4. }, function(ret) {
  5. if (ret.status) {
  6. alert(JSON.stringify(ret));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

停止监听地图相关事件

removeEventListener({params})

params

name:

  • 类型:字符串
  • 描述:地图相关事件名称
  • 取值范围:
    • longPress(长按事件)
    • viewChange(视角改变事件)
    • click(单击事件)

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.removeEventListener({
  3. name: 'longPress'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAnnotations

在地图上添加标注信息,标注大小为 icons 内第一张图片大小的二分之一。图标中轴线的下边缘点为坐标基准点

addAnnotations({params})

params

annotations:

  • 类型:数组
  • 描述:图标标注信息组成的数组
  • 内部字段:
  1. [{
  2. id: 1, //数字类型;图标标注的唯一标识
  3. lon: 116.233, //数字类型;图标标注所在位置的经度
  4. lat: 39.134, //数字类型;图标标注所在位置的纬度
  5. icons: 'widget://', //(可选项)数组类型;指定的标注图标路径组成的数组,若包含多张图片,则此标注显示为多图联动的 gif 动画效果,要求本地路径(fs://、widget://),若不传则显示公用的 icons 图标,(仅支持ios)
  6. icon: 'widget://', //(可选项)数组类型;指定的标注图标路径,要求本地路径(fs://、widget://),若不传则显示公用的 icon 图标(仅支持android)
  7. draggable: true //(可选项)布尔类型;所添加的标注是否可被拖动,若不传则以公用的 draggable 为准
  8. }]

icons:

  • 类型:数组
  • 描述:(可选项)指定的标注图标路径组成的数组,若包含多张图片,则此标注显示为多图联动的 gif ,要求本地路径(fs://、widget://)(仅支持ios)
  • 默认值:红色大头针

icon:

  • 类型:字符串
  • 描述:(可选项)指定的标注图标路径,要求本地路径(fs://、widget://)(仅支持android)
  • 默认值:红色大头针

draggable:

  • 类型:布尔
  • 描述:(可选项)所添加的标注是否可被拖动
  • 默认值:false

timeInterval:

  • 类型:数字
  • 描述:(可选项)若添加的标注为动态图,则本参数表示动态图循环播放一次的时间,单位为秒(s),否则本参数无效(仅支持ios)
  • 默认值:3.0

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addAnnotations({
  3. annotations: [{
  4. id: 1,
  5. lon: 116.297,
  6. lat: 40.109
  7. }, {
  8. id: 2,
  9. lon: 116.29,
  10. lat: 40.109
  11. }, {
  12. id: 3,
  13. lon: 116.298,
  14. lat: 40.11
  15. }],
  16. icons: ['widget://'],
  17. draggable: true,
  18. timeInterval: 2.0
  19. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAnnotationListener

添加对地图上标注的监听

addAnnotationListener(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. id: 10 //数字类型;相应事件的标注的
  3. eventType: 'click', //字符串类型;交互事件类型
  4. //取值范围:
  5. //click(用户点击标注事件)
  6. //drag(用户拖动标注事件)
  7. //clickBubble(用户点击气泡事件)
  8. //longPressBubble(长按气泡事件)(仅支持ios)
  9. //closeBubble(气泡关闭事件)(仅支持ios)
  10. dragState: 'starting' //字符串类型;标注被拖动的状态,当 eventType 为 drag 时本字段有值,
  11. //取值范围:
  12. //starting(开始拖动)
  13. //dragging (拖动中)
  14. //ending (拖动结束)
  15. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addAnnotationListener(function(ret) {
  3. if (ret.eventType == 'drag') {
  4. if(ret.dragState == 'dragging') {
  5. console.log('JSON.stringify(ret)');
  6. } else if (ret.dragState == 'starting') {
  7. console.log('JSON.stringify(ret)');
  8. } else {
  9. api.alert({msg:JSON.stringify(ret)});
  10. }
  11. } else {
  12. api.alert({msg:JSON.stringify(ret)});
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAnnotationCoords

获取指定标注的经纬度

getAnnotationCoords({params}, callback(ret))

params

id:

  • 类型:数字
  • 描述:指定的标注 id

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. lon: 116.213, //数字类型;标注的经度
  3. lat: 39.213 //数字类型;标注的纬度
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.getAnnotationCoords({
  3. id: 2
  4. }, function(ret) {
  5. if (ret) {
  6. api.alert({ msg: JSON.stringify(ret) });
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAnnotationCoords

设置某个已添加标注的经纬度

setAnnotationCoords(callback(ret, err))

params

id:

  • 类型:数字
  • 描述:指定的标注 id

lon:

  • 类型:数字
  • 描述:设置的经度

lat:

  • 类型:数字
  • 描述:设置的纬度

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setAnnotationCoords({
  3. id: 2,
  4. lon: 116.39,
  5. lat: 40.209
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAnnotationIcon

设置某个已添加标注的图标

setAnnotationIcon(callback(ret, err))

params

id:

  • 类型:数字
  • 描述:指定的标注 id

icon:

  • 类型:字符串
  • 描述:指定的标注图标路径,要求本地路径(fs://、widget://)

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setAnnotationIcon({
  3. id: 2,
  4. icon : "widget://image/icon.png"
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeAnnotations

移除制定标注

removeAnnotations({params})

params

id:

  • 类型:数组
  • 描述:指定的标注 id 组成的数组,若不传或传空,则移除所有标注

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.removeAnnotations({
  3. id: [1]
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBubble

设置某个已添加标注的气泡(点击标注弹出的信息窗口),

注意:若不调用本接口设置气泡,或 content 参数传空,则点击标注无气泡弹出。

setBubble({params})

params

id:

  • 类型:数字
  • 描述:指定的标注 id

content:

  • 类型:JSON 对象
  • 描述:气泡内容文本
  • 内部字段:
  1. {
  2. title: '', //字符串类型;气泡的标题文本
  3. titleSize:14, //数字类型;气泡标题字体大小;默认值:14
  4. titleColor:"#ff000000", //字符串类型;气泡标题字体颜色;默认值:#ff000000
  5. snippet: '' //字符串类型;显示在标题下面的文本。 超出信息窗口宽度的字符串将自动换成多行。 特别长的消息可能会被截断。
  6. snippetSize:14, //数字类型;气泡副标题字体大小;默认值:14
  7. snippetColor:"#ff7f7f7f", //字符串类型;气泡副标题字体颜色;默认值:#ff7f7f7f
  8. }

caption:

  • 类型:JSON对象
  • 描述:(可选项)气泡配图
  • 内部字段:
  1. img:"", //字符串类型;配图的路径地址;默认值:无
  2. w:30, //数字类型;配图的宽;默认值:图片的宽
  3. h:30 //数字类型;配图的高;默认值:图片的高

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.setBubble({
  3. id: 2,
  4. content: {
  5. title: '点击、长按我有回调',
  6. snippet: '可在addAnnotationListener接口回调中监听点击、长按事件'
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

searchRoute

搜索路线方案,无需调用 open 接口即可使用

searchRoute({params}, callback(ret, err))

params

id:

  • 类型:数字
  • 描述:搜索的路线 id ,drawRoute 时使用

origin:

  • 类型:字符串
  • 描述:路线计算起点的地址、纬度/经度文本值
  • 举例:
    • ‘Toronto’(如果传递地址,将对字符串进行地理编码,并将其转换为纬度/经度坐标以计算路线)
    • ‘41.43206,-81.38992’(确保纬度值与经度值之间不存在空格)

destination:

  • 类型:字符串
  • 描述:路线计算终点的地址、纬度/经度文本值
  • 举例:
    • ‘Toronto’(如果传递地址,将对字符串进行地理编码,并将其转换为纬度/经度坐标以计算路线)
    • ‘41.43206,-81.38992’(确保纬度值与经度值之间不存在空格)

mode:

  • 类型:字符串
  • 描述:(可选项)指定在计算路线时使用的交通模式
  • 默认:driving
  • 取值范围:
    • driving:表示使用道路网的标准驾车路线。
    • walking:请求经由步道和人行道(如有)的步行路线。
    • bicycling:请求经由自行车道和首选街道(如有)的骑行路线。
    • transit:请求经由公共交通线路(如有)的路线。如果您将该模式设置为 transit,作为可选步骤,您还可提供 transit_mode。
  • 注:有时,步行路线和骑行路线可能均不包括明确的步道或自行车道,因此这些路线将在您必须向用户显示的返回结果中返回 warnings。

waypoints:

  • 类型:字符串
  • 描述:(可选项)指定一组路径点。路径点通过使路线经过指定位置来改变路线。路径点以纬度/经度坐标或将接受地理编码的地址形式指定。路径点不适用于公交路线。您可以利用路径点计算途经附加位置的路线,在这种情况下,返回的路线将包括在每个已知路径点处的停靠站。可以地址、纬度/经度坐标提供一个或多个以管道字符 (|) 分隔的位置。对于请求中的每个路径点,路线响应均会在 legs 数组中加入一个额外条目,提供该段旅程的对应详情。如果您想在不添加停靠站的情况下利用路径点影响路线,请为路径点添加 via: 前缀。带有 via: 前缀的路径点不会向 legs 数组添加条目,而是将旅程路线改为途经提供的路径点。
  • 优化您的路径点:默认情况下,“路线”服务会按所提供路径点的给定顺序计算经过这些路径点的路线。作为可选步骤,您可以传递 optimize:true 作为 waypoints 参数内的第一个自变量,以便按更高效的顺序重组路径点来优化提供的路线。所有路径点都必须是停靠点。如果您优化路径点的顺序,其顺序将通过 routes 对象内的 waypoint_order 字段返回。waypoint_order 字段返回以零为起点的值。
  • 举例:
    • ‘Charlestown,MA|Lexington,MA’(如果您传递地址,路线服务将对字符串进行地理编码,并将其转换为纬度/经度坐标以计算路线)
    • ‘-37.81223,144.96254|-34.92788,138.60008’(如果您传递纬度/经度坐标,它们将不加更改地直接用于计算路线。确保纬度值与经度值之间不存在空格)
    • ‘via:-37.81223,144.96254|via:-34.92788,138.60008’(带有 via: 前缀的路径点)
    • ‘optimize:true|Barossa+Valley,SA|Clare,SA’(需要路线优化的路径点)

alternatives:

  • 类型:布尔
  • 描述:(可选项)设置为 true 时,可在响应中提供多个备选路线。请注意,提供备选路线可能会增加服务器的响应时间。
  • 默认:false

avoid:

  • 类型:字符串
  • 描述:(可选项)表示计算的路线应避开指定的特征
  • 默认:不指定
  • 取值范围:
    • tolls:计算的路线应避开收费公路/桥梁。
    • highways:计算的路线应避开高速公路。
    • ferries:计算的路线应避开渡口。
    • indoor:表示计算的路线应避开步行路线和公共交通路线的室内分段。
    • 可以同时传递多种限制,例如:’tolls|highways|ferries’
  • 注:添加限制不会将包括受限特征的路线排除在外,其作用仅仅是通过影响结果来获得更有利的路线。

transit_mode:

  • 类型:字符串
  • 描述:(可选项)指定一个或多个首选公共交通模式。只能为公共交通路线指定此参数
  • 默认:不指定
  • 取值范围:
    • bus:表示计算的路线应首选公共汽车出行。
    • subway:表示计算的路线应首选地铁出行。
    • train:表示计算的路线应首选火车出行。
    • tram:表示计算的路线应首选有轨电车和轻轨出行。
    • rail:表示计算的路线应首选火车、有轨电车、轻轨和地铁出行。它相当于train|tram|subway。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. geocoded_waypoints : [{ //数组类型;提供了有关起点、目的地和路径点地理编码的详情
  3. geocoder_status : 'OK', //字符串类型;表示地理编码操作所产生的状态代码
  4. //取值范围:
  5. //OK:表示未出现任何错误;已成功解析地址,并且至少返回了一个地理编码
  6. //ZERO_RESULTS:表示地理编码成功,但未返回任何结果。如果向地理编码器传递了一个不存在 address,就可能会发生这种情况
  7. types : [ //数组类型;表示用于计算路线的地理编码结果的地址类型
  8. 'locality', //字符串类型;表示合并的城市或城镇政治实体
  9. 'political', //字符串类型;表示政治实体。通常,这种类型表示某个民政管理部门的多边形
  10. 'street_address', //字符串类型;表示精确的街道地址
  11. 'route', //字符串类型;表示已命名的路线(例如“US 101”)
  12. 'intersection', //字符串类型;表示主要交叉路口,通常是两条主要道路的交叉路口
  13. 'country', //字符串类型;表示国家政治实体,通常是由地理编码器返回的最高级别类型
  14. 'administrative_area_level_1', //字符串类型;表示国家/地区级别以下的一级行政实体。在美国,这种行政级别就是州
  15. 'administrative_area_level_2', //字符串类型;表示国家/地区级别以下的二级行政实体。在美国,这种行政级别就是县
  16. 'administrative_area_level_3', //字符串类型;表示国家/地区级别以下的三级行政实体。此类型表示较小的行政区划单位
  17. 'administrative_area_level_4', //字符串类型;表示国家/地区级别以下的四级行政实体。此类型表示较小的行政区划单位
  18. 'administrative_area_level_5', //字符串类型;表示国家/地区级别以下的五级行政实体。此类型表示较小的行政区划单位
  19. 'colloquial_area', //字符串类型;表示实体的常用替代名称
  20. 'ward', //字符串类型;表示一种特定的日本行政区划类型,以便于区分某个日本地址中的多个行政区划组成部分
  21. 'sublocality', //字符串类型;表示 locality 以下的一级行政实体
  22. 'neighborhood', //字符串类型;表示已命名的街区
  23. 'premise', //字符串类型;表示已命名的位置,通常是具有常见名称的一栋或一群建筑物
  24. 'subpremise', //字符串类型;表示指定位置以下的一级实体,通常是同名建筑群中的单个建筑物
  25. 'postal_code', //字符串类型;表示邮政编码,用于国内的地址邮寄
  26. 'natural_feature', //字符串类型;表示著名的自然景观
  27. 'airport', //字符串类型;表示机场
  28. 'park', //字符串类型;表示已命名的公园
  29. 'point_of_interest' //字符串类型;表示已命名的景点。通常,这些“景点”是不容易归入其他类别的著名地方实体,如“帝国大厦”或“自由女神像”
  30. ]
  31. }
  32. ],
  33. routes : [ //数组类型;其中提供了从起点至目的地的路线
  34. {
  35. bounds : { //JSON对象;包含 overview_polyline 的视口边界框
  36. northeast : {
  37. lat : 43.692758,
  38. lng : -79.590273
  39. },
  40. southwest : {
  41. lat : 43.5942889,
  42. lng : -79.769256
  43. }
  44. },
  45. copyrights : '地图数据 ©2017 GS(2011)6020 Google', //字符串类型;包含需要为该路线显示的版权文本。您必须自行处理和显示该信息
  46. legs : [ //数组类型;包含给定路线内某一段(两个位置之间)的相关信息。指定的每个路径点或目的地都有单独的段与之对应。(不含路径点的路线在 legs 数组内将只包含一个段。)每一段都包含一系列分段
  47. {
  48. arrival_time : { //JSON对象;其中包含此路程的预计到达时间。该属性只针对公交路线返回
  49. text : '上午6:30', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  50. time_zone : 'America/Toronto',//字符串类型;包含该站的时区
  51. value : 1506767400 //数字类型;以 JavaScript Date 对象指定的时间
  52. },
  53. departure_time : { //JSON对象;此路程的预计出发时间。只会为公共交通路线提供 departure_time
  54. text : '', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  55. time_zone : '', //字符串类型;包含该站的时区
  56. value : //数字类型;以 JavaScript Date 对象指定的时间
  57. },
  58. distance : { //JSON对象;表示该段覆盖的总距离
  59. text : '29.1 公里', //字符串类型;包含可人工读取的距离值,以起点处使用的单位显示
  60. value : 29104 //数字类型;表示距离(以米为单位)
  61. },
  62. duration : { //JSON对象;表示该段的总持续时间
  63. text : '1 小时 45 分钟', //字符串类型;其中包含以可人工读取形式表示的持续时间
  64. value : 6300 //数字类型;表示持续时间(以秒为单位)
  65. },
  66. end_address : '加拿大安大略省布兰普顿', //字符串类型;包含通过对该段的 end_location 进行反向地理编码所获得的可人工读取地址(通常是街道地址)
  67. end_location : { //JSON对象;包含该段给定目的地的纬度/经度坐标
  68. lat : 43.6869103, //数字类型;纬度
  69. lng : -79.7647153 //数字类型;经度
  70. },
  71. start_address : '加拿大安大略省多伦多', //字符串类型;包含通过对该段的 start_location 进行反向地理编码所获得的可人工读取地址(通常是街道地址)
  72. start_location : { //JSON对象;包含该段起点的纬度/经度坐标
  73. lat :, //数字类型;纬度
  74. lng : //数字类型;经度
  75. },
  76. steps : [ //数组类型;包含一系列分段,表示有关旅程段每个单独分段的信息
  77. {
  78. distance : { //JSON对象;包含从该分段至下一分段起点的覆盖距离
  79. text : '11.2 公里',
  80. value : 11201
  81. },
  82. duration : { //JSON对象;包含完成该分段至下一分段起点距离通常需要的时间
  83. text : '20分钟',
  84. value : 1200
  85. },
  86. end_location : { //JSON对象;包含该分段终点的位置
  87. lat :,
  88. lng :
  89. },
  90. html_instructions : '公交车 开往40 - Hamilton GO', //字符串类型;包含该分段的格式化指令,以 HTML 文本字符串形式呈现
  91. maneuver: 'turn-right', //字符串类型;行走指示
  92. polyline : { //JSON对象;其中包含一个 points 对象,用于储存以经过编码的折线形式表示的路段。该多段线是分段的近似(平滑)路径
  93. points : '' //字符串类型;储存以经过编码的折线形式表示的路段
  94. },
  95. start_location : { //JSON对象;包含该分段起点的位置
  96. lat :,
  97. lng :
  98. },
  99. "steps":[ //数组类型;包含公共交通路线中步行或驾车分段的详细路线。只有在mode参数设置为“transit”时,才会出现分段。内部 steps 数组与 steps 的类型相同
  100. ],
  101. transit_details : { //JSON对象;包含公共交通专属信息。只有在mode参数设置为“transit”时,才会返回该字段
  102. arrival_stop : { //JSON对象;包含有关该部分旅程的到达车站信息
  103. location : { //JSON对象;公共交通车站的位置
  104. lat :,
  105. lng :
  106. },
  107. name : 'Square One' //字符串类型;公共交通车站的名称
  108. },
  109. arrival_time : { //JSON对象;包含该段旅程的到达时间
  110. text : '上午5:05', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  111. time_zone : 'America/ Toronto', //字符串类型;包含该站的时区
  112. value : 1506762300 //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定
  113. },
  114. departure_stop : { //JSON对象;包含有关该部分旅程的出发车站信息
  115. location : { //JSON对象;公共交通车站的位置
  116. lat : 43.672229,
  117. lng : -79.593388
  118. },
  119. name : 'Renforth Dr At Convair Dr' //字符串类型;公共交通车站的名称
  120. },
  121. departure_time : { //JSON对象;包含该段旅程的出发时间
  122. text : 上午4:45, //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  123. time_zone : 'America/Toronto', //字符串类型;包含该站的时区
  124. value : 1506761100 //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定
  125. },
  126. headsign : '40 - Hamilton GO', //字符串类型;指定该线路的行进方向,即车辆或出发车站所标示的方向。这通常是终点站
  127. line : { //JSON对象;包含有关该分段中所使用公共交通线路的信息
  128. agencies : [ //数组类型;其中的每个对象都提供有关线路运营商的信息
  129. {
  130. name : 'GO Transit', //字符串类型;其中包含公交机构的名称
  131. phone : '1 (888) 438-6646', //字符串类型;包含公共交通运营机构的电话号码
  132. url : 'http://gotransit.com/' //字符串类型;其中包含公交机构的 URL
  133. }
  134. ],
  135. color : '#a11984', //字符串类型;包含该公共交通线路标牌中常用的颜色。颜色以十六进制字符串形式指定
  136. name : 'Pearson Airport - Richmond Hill Service', //字符串类型;包含该公共交通线路的全名
  137. short_name : '40', //字符串类型;包含该公共交通线路的简称。这通常是线路编号
  138. text_color : '#ffffff', //字符串类型;其中包含该线路站牌上常用的文字颜色。颜色以十六进制字符串形式指定
  139. vehicle : { //JSON对象;包含该线路使用的车辆类型
  140. icon : '//maps.gstatic.com/mapfiles/transit/iw2/6/bus2.png', //字符串类型;包含与该车辆类型关联的图标的 URL
  141. name : '公交车', //字符串类型;其中包含该线路上交通工具的名称
  142. type : 'BUS' //字符串类型;包含在该线路上运行的车辆类型
  143. }
  144. },
  145. num_stops : 3 //数字类型;包含该分段的车站数,计算到达站,不计算出发站
  146. },
  147. travel_mode : 'TRANSIT' //字符串类型;交通模式
  148. },
  149. ],
  150. traffic_speed_entry : [],
  151. via_waypoint : []
  152. }
  153. ],
  154. overview_polyline : { //JSON对象;其中包含单个 points 对象,用于储存以经过编码的折线表示的路线。此折线是所生成路线的近似(平滑处理)路径
  155. points : '' //字符串类型;用于储存以经过编码的折线表示的路线
  156. },
  157. summary : '', //字符串类型;包含包含简短的路线文本说明,适用于命名路线以及消除路线与备选路线的歧义
  158. warnings : [ //数组类型;其中包含要在显示这些路线时显示的一组警告。您必须自行处理和显示这些警告
  159. '步行路线正在测试中。 注意 – 此路线可能缺乏部分人行道信息。'
  160. ],
  161. waypoint_order : [] //数组类型;用于指示所计算路线内所有路径点的顺序
  162. }
  163. ],
  164. available_travel_modes:[ //数组类型;包含一组可用的出行模式。如果请求指定出行 mode 但没有结果,将返回此字段。数组包含给定路径点集所在国家/地区可用的出行模式。如果一个或多个路径点为 via: 路径点,将不会返回此字段
  165. 'DRIVING',
  166. 'BICYCLING',
  167. 'WALKING'
  168. ],
  169. status : 'OK' //字符串类型;
  170. //取值范围:
  171. //OK:路径规划成功
  172. //NOT_FOUND:表示请求的起点、目的地中指定的至少其中一个位置无法接受地理编码
  173. //ZERO_RESULTS:表示在起点与目的地之间未找到路线
  174. //INVALID_REQUEST:表示提供的请求无效。这一状态的常见原因包括参数或参数值无效
  175. //OVER_QUERY_LIMIT:表示服务在允许的时段内从您的应用收到的请求数量过多
  176. //REQUEST_DENIED:表示服务拒绝您的应用使用路线服务
  177. //UNKNOWN_ERROR:表示由于服务器发生错误而无法处理路线请求。如果您重试一次,请求可能会成功
  178. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.searchRoute({
  3. id:1,
  4. origin: 'Toronto',
  5. destination: 'Brampton',
  6. },function(ret, err){
  7. api.alert({
  8. msg: JSON.stringify(ret)
  9. });
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

drawRoute

在地图上显示指定路线,调用本接口前,必须保证已经调用过接口 open 和 searchRoute

drawRoute({params})

params

id:

  • 类型:数字
  • 描述:路线 id (searchRoute 时传的 id),removeRoute 时使用此 id 移除路线

index:

  • 类型:数字类型
  • 描述:(可选项)路线方案的索引,在 searchRoute 时返回的多个路线方案组成的数组中的索引
  • 默认值:0

styles:

  • 类型:JSON对象
  • 描述:路线样式设置
  • 内部字段:
  1. {
  2. width: 3, //(可选项)数字类型;绘制路线的宽度;默认:3
  3. color: '#00868B' //(可选项)字符串类型;绘制路线的颜色,支持 rgb、rgba、#;默认:#00868B
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.drawRoute({
  3. id:1
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeRoute

移除指定 id ,指定索引的路线

removeRoute({params})

params

ids:

  • 类型:数组
  • 描述:(可选项)所要移除的 id(数字)和路径索引组成的数组
  • 默认值:不传则删除所有绘制的路径
  • 内部字段:
  1. {
  2. id:1, //数字类型;路线 id
  3. indexs:[0] //可选,数组类型;默认:不传则删除id下所有的路径
  4. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.removeRoute({
  3. ids:[
  4. {
  5. id:1,
  6. indexs:[0]
  7. }
  8. ]
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLine

在地图上添加折线

addLine({params})

params

geodesic

  • 类型:布尔
  • 描述:何时true,将此折线边缘渲染为测地线。测地线段沿着地球表面沿着最短路径行进,并且可以在具有墨卡托投影的地图上显示为曲线。非测地线段在地图上绘制为直线。
  • 默认:false

styles:

  • 类型:JSON 对象
  • 描述:(可选项)折线的样式
  • 内部字段:
  1. {
  2. borderColor: '#000', //(可选项)字符串类型;折线的颜色,支持rgb、rgba、#;默认值:'#000'
  3. borderWidth: 3 //(可选项)数字类型;折线的宽度,默认:1
  4. }

points:

  • 类型:数组
  • 描述:折线的多个点组成的数组
  • 内部字段:
  1. [{
  2. lon: 116.297, //数字类型;经度
  3. lat: 40.109 //数字类型;纬度
  4. }]

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addLine({
  3. styles: {
  4. borderColor: '#FF0000',
  5. borderWidth: 3
  6. },
  7. points: [{
  8. lon:116.39432327,
  9. lat:39.98963192
  10. },{
  11. lon: 116.49432328,
  12. lat: 39.98963192
  13. },{
  14. lon: 116.39432327,
  15. lat: 39.88933191
  16. }]
  17. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addPolygon

在地图上添加多边形

addPolygon({params})

params

geodesic

  • 类型:布尔
  • 描述:何时true,将此折线边缘渲染为测地线。测地线段沿着地球表面沿着最短路径行进,并且可以在具有墨卡托投影的地图上显示为曲线。非测地线段在地图上绘制为直线。
  • 默认:false

styles:

  • 类型:JSON 对象
  • 描述:(可选项)多边形的样式
  • 内部字段:
  1. {
  2. borderColor: '#000', //(可选项)字符串类型;多边形的边框颜色,支持rgb、rgba、#;默认:'#000'
  3. fillColor: '#000', //(可选项)字符串类型;多边形的填充色,支持rgb、rgba、#;默认:'#000'
  4. borderWidth: 3 //(可选项)数字类型;多边形的边框宽度,默认:1
  5. }

points:

  • 类型:数组
  • 描述:多边形的各个点组成的数组
  • 内部字段:
  1. [{
  2. lon: 116.297, //数字类型;经度
  3. lat: 40.109 //数字类型;纬度
  4. }]

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addPolygon({
  3. styles: {
  4. borderColor: '#FF0000',
  5. borderWidth: 3,
  6. fillColor: '#0000ff'
  7. },
  8. points: [{
  9. lon: 116.39432327,
  10. lat: 39.98963192
  11. }, {
  12. lon: 116.49432328,
  13. lat: 39.98963192
  14. }, {
  15. lon: 116.39432327,
  16. lat: 39.88933191
  17. }]
  18. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addCircle

在地图上添加圆形

addCircle({params})

params

center:

  • 类型:JSON 对象
  • 描述:圆形中心点的经纬度
  • 内部字段:
  1. {
  2. lon: 116.297, //数字类型;圆形中心点的经度
  3. lat: 40.109 //数字类型;圆形中心点的纬度
  4. }

radius:

  • 类型:数字
  • 描述:圆形的半径

styles:

  • 类型:JSON 对象
  • 描述:(可选项)圆形的样式
  • 内部字段:
  1. {
  2. borderColor: '#000', //(可选项)字符串类型;圆形的边框颜色,支持rgb、rgba、#;默认:'#000'
  3. fillColor: '#000', //(可选项)字符串类型;圆形的填充色,支持rgb、rgba、#;默认:'#000'
  4. borderWidth: 3 //(可选项)数字类型;圆形的边框宽度,
  5. }

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addCircle({
  3. center: {
  4. lon: 116.39432327,
  5. lat: 39.98963192
  6. },
  7. radius: 500,
  8. styles: {
  9. borderColor: '#FF0000',
  10. borderWidth: 3,
  11. fillColor: '#0000ff'
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addGroundOverlay

在地图上添加地面叠加层,地面叠加层是地图上与纬度/经度坐标相关联的叠加层,因此当您拖动或缩放地图时它们会移动

addGroundOverlay({params})

params

southWest(IOS):

  • 类型:JSON 对象
  • 描述:西南
  • 内部字段:
  1. {
  2. lon: 116.297, //数字类型;经度
  3. lat: 40.109 //数字类型;纬度
  4. }

northEast(IOS):

  • 类型:JSON 对象
  • 描述:东北
  • 内部字段:
  1. {
  2. lon: 116.297, //数字类型;经度
  3. lat: 40.109 //数字类型;纬度
  4. }

Pot(android):

  • 类型:JSON 对象
  • 描述:添加处的坐标点
  • 内部字段:
  1. {
  2. lon: 116.297, //数字类型;经度
  3. lat: 40.109 //数字类型;纬度
  4. }

size(android):

  • 类型:JSON 对象
  • 描述:添加物的宽高
  • 内部字段:
  1. {
  2. width: 8600, //数字类型;宽度
  3. height: 6500 //数字类型;高度
  4. }

icon:

  • 类型:字符
  • 描述:标题图标路径,仅支持fs、widget

bearing(IOS):

  • 类型:数字
  • 描述:(可选项)地面覆盖物的方位,以度为单位。默认值0指向这个地面覆盖层,沿着地球的正常Y轴向上/向下
  • 默认:0

opacity(IOS):

  • 类型:数字
  • 描述:(可选项)透明度,取值范围0-1
  • 默认:1

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.addGroundOverlay({
  3. southWest: {
  4. lon: 116.39432327,
  5. lat: 39.98963192
  6. },
  7. northEast: {
  8. lon: 116.39432327,
  9. lat: 39.98963192
  10. },
  11. icon:'',
  12. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

removeLayer

清除图层(Android清除的是addGroundOverlay添加的数据 )

removeLayer()

示例代码

  1. var GoogleMap = api.require('googleMap');
  2. GoogleMap.removeLayer();

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本