跳转地图并定位
几种常用地图的URI API(单点标记)
百度地图、高德地图、腾讯地图
以下顺序部分先后
百度地图
-
示例:
window.location.href = 'http://api.map.baidu.com/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&output=html&src=webapp.baidu.openAPIdemo';
复制代码
</pre>
复制代码
- 参数说明:
参数名 | 参数说明 | 是否必填 | 备注 |
---|---|---|---|
location | lat<纬度>,lng<经度> | 必选 | |
title | 标注点显示标题 | 必选 | |
content | 标注点显示内容 | 必选 | |
output | 表示输出类型,web上必须指定为html才能展现地图产品结果。 | 必选 | |
coord_type | 坐标类型 示例: coord_type= bd09ll 允许的值为:bd09ll(百度经纬度坐标) bd09mc(百度墨卡托坐标) gcj02(经国测局加密的坐标) wgs84(gps获取的原始坐标) |
可选 | 如开发者不传递正确的坐标类型参数,会导致地点坐标位置偏移。默认为bd09经纬度坐标。 |
zoom | 展现地图的级别,默认为视觉最优级别。 | 可选 | |
src | 调用来源,规则:webapp.companyName.appName。 | 必选 | 此参数不传值,不保证服务。 |
- 详细内容请访问:lbsyun.baidu.com/index.php?t…
高德地图
-
服务地址:uri.amap.com/marker
-
示例:
window.location.href = 'URL: //uri.amap.com/marker?position=121.287689,31.234527&name=park&src=mypage&coordinate=gaode&callnative=0'; 复制代码
-
参数说明:
参数名 | 参数说明 | 是否必填 | 备注 |
---|---|---|---|
position | 121.287689,31.234527 位置点经纬度坐标, 格式为: position=lon,lat |
是 | lon表示经度,lat表示纬度 |
name | park 用户自定义显示名称 | 否 | |
src | mypage 使用方来源信息 | 否 | 为保证服务质量建议填写 |
coordinate | gaode 坐标系参数coordinate=gaode,表示高德坐标(gcj02坐标), coordinate=wgs84,表示wgs84坐标(GPS原始坐标) |
否 | 默认为高德坐标系(gcj02坐标系) |
callnative | 0 是否尝试调起高德地图APP并在APP中查看, 0表示不调起,1表示调起, 默认值为0 |
否该参数仅在移动端有效 |
- 示例2:
window.location.href ='URL: //uri.amap.com/marker?poiid=B0FFFAB6J2&src=mypage&callnative=0'; 复制代码
- 参数说明:
参数名 | 参数说明 | 是否必填 | 备注 |
---|---|---|---|
poiid | B0FFFAB6J2 被标注地点的POI ID | 是 | 您可以在www.amap.com中通过 搜索该地点打开的详情页面URL中获得 |
src | mypage 使用方来源信息 | 否 | 为保证服务质量建议填写 |
callnative | 0 是否尝试调起高德地图APP并在APP中查看,0表示不调起,1表示调起, 默认值为0 | 否 | 该参数仅在移动端有效 |
如果您不知道需要标注地点的经纬度,您可以传入该地点的POI ID,并指定要展示的名称。POI ID您可以在www.amap.com中通过搜索该地点打开的详情页面URL中获得。
- 详细内容请访问:lbs.amap.com/api/uri-api…
腾讯地图
-
示例:
window.location.href ='https://apis.map.qq.com/uri/v1/marker?marker=coord:39.892326,116.342763;title:超好吃冰激凌;addr:手帕口桥北铁路道口&referer=myapp'; 复制代码
-
参数说明:
参数名 | 必填 | 说明 | 示例 |
---|---|---|---|
marker | 是 | marker参数的格式: marker=markerAttributes¦markerAttributes¦...每个markerAttributes定义了一个标注的全部属性,markerAttributes之间以"¦"分隔。 markerAttributes格式:key:value;key:value... key是属性名,key取值包括coord、title、addr、tel、uid等属性名,参见marker属性表。 value是属性值,如coord的value形式为"lat,lng"。各属性的取值说明请参考:marker属性表。各key和value之间用英文冒号分隔,各key/value对之间用英文分号分隔。注:目前PC端仅支持添加一个标注,也即只能有一个属性集。 |
marker=coord:39.892326,116.342763;title:超好吃冰激凌;addr:手帕口桥北铁路道口 |
coord_type | 否 | 坐标类型,取值如下:1 GPS2 腾讯坐标(默认)如果用户指定该参数为非腾讯地图坐标系,则URI API自动进行坐标处理,以便准确对应到腾讯地图底图上。 | coord_type=1 |
referer | 是 | 调用来源,一般为您的应用名称,为了保障对您的服务,请务必填写! | referer=您的应用名 |
最后说一下调用方式:
// 百度地图uri api
uri[0] = "bdapp://map/navi?location=" + lat + "," + lng + "&query="
+ addr;
// 高德地图uri api
uri[1] = "androidamap://navi?sourceApplication=xlwx&poiname=" + addr
+ "&lat=" + lat + "&lon=" + lng +
"&dev=1&style=2";
// 腾讯地图uri api
uri[2] = "qqmap://map/marker?marker=coord:" + lat + "," + lng
+ ";title:" + addr + "&referer=xlwx";
window.location.href = uri[0];
//启动定时器time1
var time1 = setTimeout(function()
{
// 若启动应用,则js会被中断较长时间,超出此范围
window.location.href = uri[1];
}, 2000);
参考:https://juejin.cn/post/6844903976375173134
http://lbsyun.baidu.com/index.php?title=uri/api/web
http://lbsyun.baidu.com/index.php?title=uri/api/web
https://blog.csdn.net/xialong_927/article/details/79739241
饮水思源,不忘初心。
要面包,也要有诗和远方。