1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 百度地图利用位置提供服务器 利用百度地图API获取当前位置信息的实例

百度地图利用位置提供服务器 利用百度地图API获取当前位置信息的实例

时间:2023-03-27 13:14:42

相关推荐

百度地图利用位置提供服务器 利用百度地图API获取当前位置信息的实例

利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了。这里分享一个制作的JS可以实现登录网页后定位:

var map;

var gpsPoint;

var baiduPoint;

var gpsAddress;

var baiduAddress;

var x;

var y;

function getLocation() {

//根据IP获取城市

var myCity = new BMap.LocalCity();

myCity.get(getCityByIP);

//获取GPS坐标

if (navigator.geolocation) {

navigator.geolocation.getCurrentPosition(showMap, handleError, { enableHighAccuracy: true, maximumAge: 1000 });

} else {

alert("您的浏览器不支持使用HTML 5来获取地理位置服务");

}

}

function showMap(value) {

var longitude = value.coords.longitude;

var latitude = value.coords.latitude;

map = new BMap.Map("map");

x=latitude;

y=longitude;

//alert("坐标经度为:" + latitude + ", 纬度为:" + longitude );

gpsPoint = new BMap.Point(longitude, latitude); // 创建点坐标

//根据坐标逆解析地址

var geoc = new BMap.Geocoder();

geoc.getLocation(gpsPoint, getCityByCoordinate);

BMap.Convertor.translate(gpsPoint, 0, translateCallback);

map.enableScrollWheelZoom(true);

}

translateCallback = function (point) {

baiduPoint = point;

map.centerAndZoom(baiduPoint, 18);

var geoc = new BMap.Geocoder();

geoc.getLocation(baiduPoint, getCityByBaiduCoordinate);

}

function getCityByCoordinate(rs) {

gpsAddress = rs.addressComponents;

var address = "GPS标注:" + gpsAddress.province + "," + gpsAddress.city + "," + gpsAddress.district + "," + gpsAddress.street + "," + gpsAddress.streetNumber;

var marker = new BMap.Marker(gpsPoint); // 创建标注

map.addOverlay(marker); // 将标注添加到地图中

var labelgps = new BMap.Label(address, { offset: new BMap.Size(20, -10) });

marker.setLabel(labelgps); //添加GPS标注

}

function getCityByBaiduCoordinate(rs) {

baiduAddress = rs.addressComponents;

var address = "百度标注:" + baiduAddress.province + "," + baiduAddress.city + "," + baiduAddress.district + "," + baiduAddress.street + "," + baiduAddress.streetNumber;

var marker = new BMap.Marker(baiduPoint); // 创建标注

map.addOverlay(marker); // 将标注添加到地图中

var labelbaidu = new BMap.Label(address, { offset: new BMap.Size(20, -10) });

marker.setLabel(labelbaidu); //添加百度标注

}

//根据IP获取城市

function getCityByIP(rs) {

var cityName = rs.name;

alert("根据IP定位您所在的城市为:" + cityName);

}

function handleError(value) {

switch (value.code) {

case 1:

alert("位置服务被拒绝");

break;

case 2:

alert("暂时获取不到位置信息");

break;

case 3:

alert("获取信息超时");

break;

case 4:

alert("未知错误");

break;

}

}

function init() {

getLocation();

}

window.onload = init;

完成定位功能后可以添加相关代码编辑地图控件 覆盖物 信息窗口等等各种功能。

以上这篇利用百度地图API获取当前位置信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。