跳转地图并定位

几种常用地图的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。 必选 此参数不传值,不保证服务。

高德地图

  • 服务地址: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中获得。

腾讯地图

  • 服务地址:apis.map.qq.com/uri/v1/mark…

  • 示例:

     

    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
https://blog.csdn.net/xialong_927/article/details/79739241
posted on 2021-04-07 12:02  3D入魔  阅读(793)  评论(0编辑  收藏  举报