百度地图的应用性很强,提供JavaScriptAPI接口,关于接口有JS基础的当然没问题, 今天写一个关于移动端百度地图的定位,以及百度地图在移动端触发事件的处理问题。当你应用在不同的移动端系统你就会发现问题。做移动端首先注意4点。
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />//移动端必备
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=自己的秘钥"></script>//百度地图的引用
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>//百度地图自带的功能,将坐标编译为百度图片坐标。
<style type="text/css">*{ height: 100%; //设置高度,不然会显示不出来 }</style>//设置高度,不然移动端显示有问题
接下来定位移动设备
<script>
$(function(){
if( navigator.geolocaion ){
navigator.geolocaion.getCurrentPosition(translatePoint);
}else{
alert('浏览器不支持地理定位')
}
});
function translatePoint(position){
var currentLat = position.coords.latitude;
var currentLon=position.coords.longitude;
var gpsPoint = new BMap.point(currentLon,currentLat);
BMap.Convertor.translate(gpsPoint,0,initMap);//转化坐标:gpsPoint: 转化前的坐标,第二个参数为转化方法,0表示gps坐标转化为百度坐标,第三个参数为callback回调函数
}
function initMap(point){
map = new BMap.map('map');
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.centerAndZoom(point,15);
map.addOverlay(new BMap.Marker(point))
}
</script>
以上为移动端定位功能。百度地图在移动端不同设备的触发事件问题依然没解决,百度云分享http://pan.baidu.com/s/1i4W88PB,提取密码f83g。最后下载引入一个文件即可。