可以在HTML5页面调用本机的腾讯地图吗

可以在HTML5页面调用本机的腾讯地图吗,第1张

html5支持直接调用设备的GPS功能,但是出于安全考虑网页脚本不允许直接调用本机应用程序,一个变通的方法是在本机上建立一个原生的服务监听网页发来的请求,然后通过这个原生服务调用其他本机应用。

对了,如果不是一定要用本机的地图应用的话,可以使用云端的地图服务,百度、高德、腾讯都有免费提供接口。

html5实现地图上定位导航路线方法如下:

1.先通过百度拾取坐标系统获得点位的坐标。

http://api.map.baidu.com/lbsapi/getpoint/index.html

2.在网页的<head>中插入百度API引用脚本。

<script type="text/javascript" src="http://api.map.baidu.com/api

key=&v=1.1&services=true"></script>

3.在网页的</body>之后</html>之前插入地图显示代码。

4.设置显示地图的div的id为“dituContent”,即添加 id="dituContent"

由于jqm的div的高度都是根据内容自由放大的,所以为了地图能正常显示,还需要

增加一个高度值,一般情况600px就可以,完成。

可以实现的,HTML5可以使用手机的GPS信息,利用百度等地图的开放API就可以了。

HTML5中可以通过IP,WIFI信息,GPS,来实现地理定位,当然相关精度也是有所不同,所以如果要精确导航就得使用GPS信息。

下面是一段HTML5结合百度地图API来获取位置的代码:

<div id="allmap"></div>当前定位地址:<a id="du-gps"></a><span></span></div>

<script>

var map = new BMap.Map("allmap")

var geolocation = new BMap.Geolocation()

geolocation.getCurrentPosition(function(r){

if(this.getStatus() == BMAP_STATUS_SUCCESS){

map.panTo(r.point)

//alert('您的位置:'+r.point.lng+','+r.point.lat)

var pt = r.point

var geoc = new BMap.Geocoder()

geoc.getLocation(pt, function(rs){

var addComp = rs.addressComponents

//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber)

$("#du-gps").text(addComp.district+addComp.street+addComp.streetNumber)

})

}

else {

alert('failed'+this.getStatus())

}

},{enableHighAccuracy: true})

</script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7239698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存