googleMap

close hide setLocationButton setTraffic setRect getLocationForAPI stopLocationForAPI getNameFromCoords showUserLocation getCenter setZoomLevel addEventListener

添加标注类

addAnnotations getAnnotationCoords setAnnotationIcon setBubble

搜索类

drawRoute

在地图上绘图

addLine addCircle removeLayer

概述

谷歌地图简介

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

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

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

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

  • 配置示例:

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. <param name="ios_api_key" value="AIzaSyAPLwmxjyqqXjJ6g_5MSra5mzKElqIUZsz" />
  2. <param name="ios_directions_key" value="AIzaSyAyeQp1HxV71ynKRRnsS40vEJcCYdyn3Rs" />
  3. </feature>
  • 字段描述:

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

    ios_api_key申请方法见旧版 Google Maps Mobile SDK for Work:iOS —-

    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)

  • 类型: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,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:

  • 内部字段:
  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. 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 //数字类型;地图当前缩放级别

示例代码

  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:

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

示例代码

可用性

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:表示计算的路线应首选有轨电车和轻轨出行。

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. polyline : { //JSON对象;其中包含一个 points 对象,用于储存以经过编码的折线形式表示的路段。该多段线是分段的近似(平滑)路径
  92. points : '' //字符串类型;储存以经过编码的折线形式表示的路段
  93. },
  94. start_location : { //JSON对象;包含该分段起点的位置
  95. lat :,
  96. lng :
  97. },
  98. "steps":[ //数组类型;包含公共交通路线中步行或驾车分段的详细路线。只有在mode参数设置为“transit”时,才会出现分段。内部 steps 数组与 steps 的类型相同
  99. ],
  100. transit_details : { //JSON对象;包含公共交通专属信息。只有在mode参数设置为“transit”时,才会返回该字段
  101. arrival_stop : { //JSON对象;包含有关该部分旅程的到达车站信息
  102. location : { //JSON对象;公共交通车站的位置
  103. lat :,
  104. lng :
  105. },
  106. name : 'Square One' //字符串类型;公共交通车站的名称
  107. },
  108. arrival_time : { //JSON对象;包含该段旅程的到达时间
  109. text : '上午5:05', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  110. time_zone : 'America/ Toronto', //字符串类型;包含该站的时区
  111. value : 1506762300 //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定
  112. },
  113. departure_stop : { //JSON对象;包含有关该部分旅程的出发车站信息
  114. location : { //JSON对象;公共交通车站的位置
  115. lat : 43.672229,
  116. lng : -79.593388
  117. },
  118. name : 'Renforth Dr At Convair Dr' //字符串类型;公共交通车站的名称
  119. },
  120. departure_time : { //JSON对象;包含该段旅程的出发时间
  121. text : 上午4:45, //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
  122. time_zone : 'America/Toronto', //字符串类型;包含该站的时区
  123. value : 1506761100 //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定
  124. },
  125. headsign : '40 - Hamilton GO', //字符串类型;指定该线路的行进方向,即车辆或出发车站所标示的方向。这通常是终点站
  126. line : { //JSON对象;包含有关该分段中所使用公共交通线路的信息
  127. agencies : [ //数组类型;其中的每个对象都提供有关线路运营商的信息
  128. {
  129. name : 'GO Transit', //字符串类型;其中包含公交机构的名称
  130. phone : '1 (888) 438-6646', //字符串类型;包含公共交通运营机构的电话号码
  131. url : 'http://gotransit.com/' //字符串类型;其中包含公交机构的 URL
  132. }
  133. ],
  134. color : '#a11984', //字符串类型;包含该公共交通线路标牌中常用的颜色。颜色以十六进制字符串形式指定
  135. name : 'Pearson Airport - Richmond Hill Service', //字符串类型;包含该公共交通线路的全名
  136. short_name : '40', //字符串类型;包含该公共交通线路的简称。这通常是线路编号
  137. text_color : '#ffffff', //字符串类型;其中包含该线路站牌上常用的文字颜色。颜色以十六进制字符串形式指定
  138. vehicle : { //JSON对象;包含该线路使用的车辆类型
  139. icon : '//maps.gstatic.com/mapfiles/transit/iw2/6/bus2.png', //字符串类型;包含与该车辆类型关联的图标的 URL
  140. name : '公交车', //字符串类型;其中包含该线路上交通工具的名称
  141. type : 'BUS' //字符串类型;包含在该线路上运行的车辆类型
  142. }
  143. },
  144. num_stops : 3 //数字类型;包含该分段的车站数,计算到达站,不计算出发站
  145. },
  146. travel_mode : 'TRANSIT' //字符串类型;交通模式
  147. },
  148. ],
  149. traffic_speed_entry : [],
  150. via_waypoint : []
  151. }
  152. ],
  153. overview_polyline : { //JSON对象;其中包含单个 points 对象,用于储存以经过编码的折线表示的路线。此折线是所生成路线的近似(平滑处理)路径
  154. points : '' //字符串类型;用于储存以经过编码的折线表示的路线
  155. },
  156. summary : '', //字符串类型;包含包含简短的路线文本说明,适用于命名路线以及消除路线与备选路线的歧义
  157. warnings : [ //数组类型;其中包含要在显示这些路线时显示的一组警告。您必须自行处理和显示这些警告
  158. '步行路线正在测试中。 注意 – 此路线可能缺乏部分人行道信息。'
  159. ],
  160. waypoint_order : [] //数组类型;用于指示所计算路线内所有路径点的顺序
  161. }
  162. ],
  163. available_travel_modes:[ //数组类型;包含一组可用的出行模式。如果请求指定出行 mode 但没有结果,将返回此字段。数组包含给定路径点集所在国家/地区可用的出行模式。如果一个或多个路径点为 via: 路径点,将不会返回此字段
  164. 'DRIVING',
  165. 'BICYCLING',
  166. 'WALKING'
  167. ],
  168. status : 'OK' //字符串类型;
  169. //取值范围:
  170. //OK:路径规划成功
  171. //NOT_FOUND:表示请求的起点、目的地中指定的至少其中一个位置无法接受地理编码
  172. //ZERO_RESULTS:表示在起点与目的地之间未找到路线
  173. //INVALID_REQUEST:表示提供的请求无效。这一状态的常见原因包括参数或参数值无效
  174. //OVER_QUERY_LIMIT:表示服务在允许的时段内从您的应用收到的请求数量过多
  175. //REQUEST_DENIED:表示服务拒绝您的应用使用路线服务
  176. //UNKNOWN_ERROR:表示由于服务器发生错误而无法处理路线请求。如果您重试一次,请求可能会成功
  177. }

示例代码

  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

示例代码

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

removeLayer

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

removeLayer()

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

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本