googleMap

基础类

添加标注类

搜索类

在地图上绘图

概述

谷歌地图简介

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

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

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

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

  • 配置示例:
 <meta-data
      name="com.google.android.geo.API_KEY"
      value="AIzaSyC-bJcAa1ZCr5Pudsuky16f2vk3DyRTn54" />
      
 <feature name="googleMap">
    <param name="android_api_key" value="AIzaSyAPLwmxjyqqXjJ6g_5MSra5mzKElqIUZsz" />
  </feature>
  
 <meta-data
    name="com.google.android.gms.version"
    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
  • 配置示例:
  <feature name="googleMap">
    <param name="ios_api_key" value="AIzaSyAPLwmxjyqqXjJ6g_5MSra5mzKElqIUZsz" />
    <param name="ios_directions_key" value="AIzaSyAyeQp1HxV71ynKRRnsS40vEJcCYdyn3Rs" />
  </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 14.0

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

插件接口

open

打开谷歌地图

open({params}, callback(ret))

params

rect:

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

center:

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

zoomLevel:

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

showUserLocation:

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

fixedOn:

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

fixed:

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

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.open({
    rect: {
        x: 0,
        y: 0,
        w: 320,
        h: 300
    },
    showUserLocation: true,
    zoomLevel: 11,
    center: {
        lon: 116.4021310000,
        lat: 39.9994480000
    },
    fixedOn: api.frameName,
    fixed: true
}, function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭谷歌地图

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示谷歌地图

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏谷歌地图

hide()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setType

设置地图类型

setType({params})

params

type:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTraffic

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

setTraffic({params})

params

traffic:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setLocationButton

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

setLocationButton({params})

params

locationButton:

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

示例代码

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

可用性

iOS系统

可提供的1.0.0及更高版本

setCompassButton

设置地图是否显示指南针

setCompassButton({params})

params

compassButton:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBuildings

设置地图是否显示建筑

setBuildings({params})

params

buildings:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRect

重设地图的显示区域

setRect({params})

params

rect:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.setRect({
    rect: {
        x: 0,
        y: 0,
        w: 320,
        h: 300
    }
});

可用性

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getLocation(function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getLocationForAPI(function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

iOS系统,Android系统

可提供的 1.0.3 及更高版本

stopLocation

停止定位

stopLocation()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopLocationForAPI

停止定位

stopLocationForAPI()

示例代码

var GoogleMap = api.require('googleMap');
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 对象
  • 内部字段:
{
    status: true,        //布尔型;true||false
    lon: 116.351,        //数字类型;地址所在经度
    lat: 39.283          //数字类型;地址所在纬度
}

err:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getCoordsFromName({
    city: '北京',
    address: '天安门'
}, function(ret, err) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

getNameFromCoords

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

getNameFromCoords({params}, callback(ret))

params

lon:

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

lat:

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

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getNameFromCoords({
    lon: 116.384767,
    lat: 39.989539
}, function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDistance

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

getDistance({params}, callback(ret))

params

start:

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

end:

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

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getDistance({
    start: {
        lon: 106.486654,
        lat: 29.490295
    },
    end: {
        lon: 106.581515,
        lat: 29.615467
    }
}, function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    } 
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showUserLocation

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

showUserLocation({params})

params

isShow:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCenter

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

setCenter({params})

params

coords:

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

animation:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.setCenter({
    coords: {
        lon: 116.404,
        lat: 39.915
    },
    animation: false
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCenter

获取谷歌地图中心点坐标

getCenter(callback(ret))

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getCenter(function(ret) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } 
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getZoomExtremity

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

getZoomExtremity(callback(ret))

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getZoomExtremity(function(ret){
    if (ret) {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

setZoomLevel

设置谷歌地图缩放等级

setZoomLevel({params})

params

level:

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

animation:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getZoomLevel

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

getZoomLevel(callback(ret))

callback

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getZoomLevel(function(ret) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } 
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

监听地图相关事件

addEventListener({params}, callback(ret))

params

name:

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

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addEventListener({
    name: 'longPress'
}, function(ret) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

停止监听地图相关事件

removeEventListener({params})

params

name:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAnnotations

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

addAnnotations({params})

params

annotations:

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

icons:

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

icon:

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

draggable:

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

timeInterval:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addAnnotations({
    annotations: [{
        id: 1,
        lon: 116.297,
        lat: 40.109
    }, {
        id: 2,
        lon: 116.29,
        lat: 40.109
    }, {
        id: 3,
        lon: 116.298,
        lat: 40.11
    }],
    icons: ['widget://'],
    draggable: true,
    timeInterval: 2.0
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAnnotationListener

添加对地图上标注的监听

addAnnotationListener(callback(ret, err))

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addAnnotationListener(function(ret) {
    if (ret.eventType == 'drag') {
        if(ret.dragState == 'dragging') {
           console.log('JSON.stringify(ret)');
        } else if (ret.dragState == 'starting') {
           console.log('JSON.stringify(ret)');
        } else {
           api.alert({msg:JSON.stringify(ret)});
        }
    } else {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAnnotationCoords

获取指定标注的经纬度

getAnnotationCoords({params}, callback(ret))

params

id:

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

callback(ret)

ret:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.getAnnotationCoords({
    id: 2
}, function(ret) {
    if (ret) {
        api.alert({ msg: JSON.stringify(ret) });
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAnnotationCoords

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

setAnnotationCoords(callback(ret, err))

params

id:

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

lon:

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

lat:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAnnotationIcon

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

setAnnotationIcon(callback(ret, err))

params

id:

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

icon:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeAnnotations

移除制定标注

removeAnnotations({params})

params

id:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBubble

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

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

setBubble({params})

params

id:

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

content:

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

caption:

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

示例代码

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

可用性

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 对象
  • 内部字段:
{
  geocoded_waypoints : [{		      //数组类型;提供了有关起点、目的地和路径点地理编码的详情
    geocoder_status : 'OK',		   //字符串类型;表示地理编码操作所产生的状态代码
                                    //取值范围:
                                              //OK:表示未出现任何错误;已成功解析地址,并且至少返回了一个地理编码
                                           //ZERO_RESULTS:表示地理编码成功,但未返回任何结果。如果向地理编码器传递了一个不存在 address,就可能会发生这种情况
    types : [                       //数组类型;表示用于计算路线的地理编码结果的地址类型
      'locality', 						   //字符串类型;表示合并的城市或城镇政治实体
      'political',							//字符串类型;表示政治实体。通常,这种类型表示某个民政管理部门的多边形
      'street_address',					//字符串类型;表示精确的街道地址
      'route',								//字符串类型;表示已命名的路线(例如“US 101”)
      'intersection',						//字符串类型;表示主要交叉路口,通常是两条主要道路的交叉路口
      'country',							//字符串类型;表示国家政治实体,通常是由地理编码器返回的最高级别类型
      'administrative_area_level_1',   //字符串类型;表示国家/地区级别以下的一级行政实体。在美国,这种行政级别就是州
      'administrative_area_level_2',   //字符串类型;表示国家/地区级别以下的二级行政实体。在美国,这种行政级别就是县
      'administrative_area_level_3',   //字符串类型;表示国家/地区级别以下的三级行政实体。此类型表示较小的行政区划单位
      'administrative_area_level_4',   //字符串类型;表示国家/地区级别以下的四级行政实体。此类型表示较小的行政区划单位
      'administrative_area_level_5',   //字符串类型;表示国家/地区级别以下的五级行政实体。此类型表示较小的行政区划单位
      'colloquial_area',					//字符串类型;表示实体的常用替代名称
      'ward',								//字符串类型;表示一种特定的日本行政区划类型,以便于区分某个日本地址中的多个行政区划组成部分
      'sublocality',						//字符串类型;表示 locality 以下的一级行政实体
      'neighborhood',						//字符串类型;表示已命名的街区
      'premise',							//字符串类型;表示已命名的位置,通常是具有常见名称的一栋或一群建筑物
      'subpremise',						//字符串类型;表示指定位置以下的一级实体,通常是同名建筑群中的单个建筑物
      'postal_code',						//字符串类型;表示邮政编码,用于国内的地址邮寄
      'natural_feature',					//字符串类型;表示著名的自然景观
      'airport',							//字符串类型;表示机场
      'park',								//字符串类型;表示已命名的公园
      'point_of_interest'					//字符串类型;表示已命名的景点。通常,这些“景点”是不容易归入其他类别的著名地方实体,如“帝国大厦”或“自由女神像”
     ]
   }
 ],
 routes : [								//数组类型;其中提供了从起点至目的地的路线
      {
         bounds : {         			//JSON对象;包含 overview_polyline 的视口边界框
            northeast : {
               lat : 43.692758,
               lng : -79.590273
            },
            southwest : {
               lat : 43.5942889,
               lng : -79.769256
            }
         },
         copyrights : '地图数据 ©2017 GS(2011)6020 Google',									//字符串类型;包含需要为该路线显示的版权文本。您必须自行处理和显示该信息
         legs : [						//数组类型;包含给定路线内某一段(两个位置之间)的相关信息。指定的每个路径点或目的地都有单独的段与之对应。(不含路径点的路线在 legs 数组内将只包含一个段。)每一段都包含一系列分段
            {
               arrival_time : {		//JSON对象;其中包含此路程的预计到达时间。该属性只针对公交路线返回
                  text : '上午6:30', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
                  time_zone : 'America/Toronto',//字符串类型;包含该站的时区
                  value : 1506767400 //数字类型;以 JavaScript Date 对象指定的时间
               },
               departure_time : {   //JSON对象;此路程的预计出发时间。只会为公共交通路线提供 departure_time
                  text : '',			//字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
                  time_zone : '',   //字符串类型;包含该站的时区

                  value : 				//数字类型;以 JavaScript Date 对象指定的时间
               },
               distance : {  			//JSON对象;表示该段覆盖的总距离
                  text : '29.1 公里', //字符串类型;包含可人工读取的距离值,以起点处使用的单位显示
                  value : 29104		//数字类型;表示距离(以米为单位)
               },
               duration : {			//JSON对象;表示该段的总持续时间
                  text : '1 小时 45 分钟', //字符串类型;其中包含以可人工读取形式表示的持续时间
                  value : 6300			//数字类型;表示持续时间(以秒为单位)
               },
               end_address : '加拿大安大略省布兰普顿', //字符串类型;包含通过对该段的 end_location 进行反向地理编码所获得的可人工读取地址(通常是街道地址)
               end_location : {         //JSON对象;包含该段给定目的地的纬度/经度坐标
                  lat : 43.6869103,     //数字类型;纬度
                  lng : -79.7647153     //数字类型;经度
               },
               start_address : '加拿大安大略省多伦多', //字符串类型;包含通过对该段的 start_location 进行反向地理编码所获得的可人工读取地址(通常是街道地址)
               start_location : { 		//JSON对象;包含该段起点的纬度/经度坐标
                  lat :,					//数字类型;纬度
                  lng :						//数字类型;经度
               },
               steps : [					//数组类型;包含一系列分段,表示有关旅程段每个单独分段的信息
                  {
                     distance : {       //JSON对象;包含从该分段至下一分段起点的覆盖距离
                        text : '11.2 公里',
                        value : 11201
                     },
                     duration : {			//JSON对象;包含完成该分段至下一分段起点距离通常需要的时间
                        text : '20分钟',
                        value : 1200
                     },
                     end_location : {	//JSON对象;包含该分段终点的位置
                        lat :,
                        lng :
                     },
                     html_instructions : '公交车 开往40 - Hamilton GO',									//字符串类型;包含该分段的格式化指令,以 HTML 文本字符串形式呈现
                     maneuver: 'turn-right',  //字符串类型;行走指示
                     polyline : {			//JSON对象;其中包含一个 points 对象,用于储存以经过编码的折线形式表示的路段。该多段线是分段的近似(平滑)路径
                        points : ''		//字符串类型;储存以经过编码的折线形式表示的路段
                     },
                     start_location : {	//JSON对象;包含该分段起点的位置
                        lat :,
                        lng :
                     },
                     "steps":[          //数组类型;包含公共交通路线中步行或驾车分段的详细路线。只有在mode参数设置为“transit”时,才会出现分段。内部 steps 数组与 steps 的类型相同
                     ],
                     transit_details : {  //JSON对象;包含公共交通专属信息。只有在mode参数设置为“transit”时,才会返回该字段
                        arrival_stop : {  //JSON对象;包含有关该部分旅程的到达车站信息
                           location : {   //JSON对象;公共交通车站的位置
                              lat :,
                              lng : 
                           },
                           name : 'Square One' //字符串类型;公共交通车站的名称
                        },
                        arrival_time : {     //JSON对象;包含该段旅程的到达时间
                           text : '上午5:05', //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
                           time_zone : 'America/ Toronto', 									//字符串类型;包含该站的时区
                           value : 1506762300  //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定
                        },
                        departure_stop : {  //JSON对象;包含有关该部分旅程的出发车站信息
                           location : {     //JSON对象;公共交通车站的位置

                              lat : 43.672229,
                              lng : -79.593388
                           },
                           name : 'Renforth Dr At Convair Dr'									    //字符串类型;公共交通车站的名称

                        },
                        departure_time : {   //JSON对象;包含该段旅程的出发时间

                           text : 上午4:45,   //字符串类型;以字符串形式指定的时间。时间以公共交通车站的时区显示
                           time_zone : 'America/Toronto',										//字符串类型;包含该站的时区
                           value : 1506761100  //数字类型;时间,以 Unix 时间或者协调世界时 1970 年 1 月 1 日午夜以来的秒数指定

                        },
                        headsign : '40 - Hamilton GO',  //字符串类型;指定该线路的行进方向,即车辆或出发车站所标示的方向。这通常是终点站
                        line : {			//JSON对象;包含有关该分段中所使用公共交通线路的信息
                           agencies : [	 //数组类型;其中的每个对象都提供有关线路运营商的信息
                              {
                                 name : 'GO Transit', //字符串类型;其中包含公交机构的名称
                                 phone : '1 (888) 438-6646',								   //字符串类型;包含公共交通运营机构的电话号码
                                 url : 'http://gotransit.com/'								//字符串类型;其中包含公交机构的 URL
                              }
                           ],
                           color : '#a11984',  //字符串类型;包含该公共交通线路标牌中常用的颜色。颜色以十六进制字符串形式指定
                           name : 'Pearson Airport - Richmond Hill Service',					  //字符串类型;包含该公共交通线路的全名
                           short_name : '40',  //字符串类型;包含该公共交通线路的简称。这通常是线路编号
                           text_color : '#ffffff',  //字符串类型;其中包含该线路站牌上常用的文字颜色。颜色以十六进制字符串形式指定
                           vehicle : {	  //JSON对象;包含该线路使用的车辆类型
                              icon : '//maps.gstatic.com/mapfiles/transit/iw2/6/bus2.png', //字符串类型;包含与该车辆类型关联的图标的 URL
                              name : '公交车',  //字符串类型;其中包含该线路上交通工具的名称
                              type : 'BUS'   //字符串类型;包含在该线路上运行的车辆类型
                           }
                        },
                        num_stops : 3     //数字类型;包含该分段的车站数,计算到达站,不计算出发站
                     },
                     travel_mode : 'TRANSIT' //字符串类型;交通模式
                  },
               ],
               traffic_speed_entry : [],
               via_waypoint : []
            }
         ],
         overview_polyline : {			//JSON对象;其中包含单个 points 对象,用于储存以经过编码的折线表示的路线。此折线是所生成路线的近似(平滑处理)路径
            points : ''						//字符串类型;用于储存以经过编码的折线表示的路线
         },
         summary : '',						//字符串类型;包含包含简短的路线文本说明,适用于命名路线以及消除路线与备选路线的歧义
         warnings : [						//数组类型;其中包含要在显示这些路线时显示的一组警告。您必须自行处理和显示这些警告
            '步行路线正在测试中。 注意 – 此路线可能缺乏部分人行道信息。'
         ],
         waypoint_order : []				//数组类型;用于指示所计算路线内所有路径点的顺序
      }
   ],
   available_travel_modes:[				//数组类型;包含一组可用的出行模式。如果请求指定出行 mode 但没有结果,将返回此字段。数组包含给定路径点集所在国家/地区可用的出行模式。如果一个或多个路径点为 via: 路径点,将不会返回此字段
           'DRIVING',
           'BICYCLING', 
           'WALKING'
   ],				
   status : 'OK'								//字符串类型;
    //取值范围:
    //OK:路径规划成功
    //NOT_FOUND:表示请求的起点、目的地中指定的至少其中一个位置无法接受地理编码
    //ZERO_RESULTS:表示在起点与目的地之间未找到路线
    //INVALID_REQUEST:表示提供的请求无效。这一状态的常见原因包括参数或参数值无效
    //OVER_QUERY_LIMIT:表示服务在允许的时段内从您的应用收到的请求数量过多
    //REQUEST_DENIED:表示服务拒绝您的应用使用路线服务
    //UNKNOWN_ERROR:表示由于服务器发生错误而无法处理路线请求。如果您重试一次,请求可能会成功
}

示例代码

   var GoogleMap = api.require('googleMap');
    GoogleMap.searchRoute({
        id:1,
        origin: 'Toronto',
        destination: 'Brampton',
        },function(ret, err){
            api.alert({
                msg: JSON.stringify(ret)
            });
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

drawRoute

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

drawRoute({params})

params

id:

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

index:

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

styles:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeRoute

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

removeRoute({params})

params

ids:

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

示例代码

var GoogleMap = api.require('googleMap');
    GoogleMap.removeRoute({
        ids:[
           {
            id:1,
            indexs:[0]
            }
        ]
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLine

在地图上添加折线

addLine({params})

params

geodesic

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

styles:

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

points:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addLine({
    styles: {
        borderColor: '#FF0000',
        borderWidth: 3
     },
     points: [{
         lon:116.39432327,
         lat:39.98963192
     },{
         lon: 116.49432328,
         lat: 39.98963192
     },{
         lon: 116.39432327,
         lat: 39.88933191
     }]
});

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addPolygon

在地图上添加多边形

addPolygon({params})

params

geodesic

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

styles:

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

points:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addPolygon({
    styles: {
        borderColor: '#FF0000',
        borderWidth: 3,
        fillColor: '#0000ff'
    },
    points: [{
        lon: 116.39432327,
        lat: 39.98963192
    }, {
        lon: 116.49432328,
        lat: 39.98963192
    }, {
        lon: 116.39432327,
        lat: 39.88933191
    }]
});

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addCircle

在地图上添加圆形

addCircle({params})

params

center:

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

radius:

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

styles:

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addCircle({
    center: {
        lon: 116.39432327,
        lat: 39.98963192
    },
    radius: 500,
    styles: {
        borderColor: '#FF0000',
        borderWidth: 3,
        fillColor: '#0000ff'
    }
});

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

addGroundOverlay

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

addGroundOverlay({params})

params

southWest(IOS):

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

northEast(IOS):

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

Pot(android):

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

size(android):

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

icon:

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

bearing(IOS):

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

opacity(IOS):

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

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.addGroundOverlay({
    southWest: {
        lon: 116.39432327,
        lat: 39.98963192
    },
    northEast: {
        lon: 116.39432327,
        lat: 39.98963192
    },
    icon:'',
});

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

removeLayer

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

removeLayer()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

# **snapshot**

截图

snapshot()

callback(ret,err)

ret:

  • 类型:JSON 对象

  • 内部字段:

    {
        status:,       //布尔类型,是否获取成功
        base64Str:'',  //字符串类型,图片base64字符串
    }
    

err:

  • 类型:JSON对象

  • 内部字段:

    {
    msg:''         //字符串类型,错误信息
    }
    

示例代码

var GoogleMap = api.require('googleMap');
GoogleMap.snapshot(function(ret,err){
    
});

可用性

Android系统

可提供的1.1.4及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2