html5移动端根据百度地图api获取详细地址
2017-05-01 20:35
169 查看
<script type="text/javascript" src="js/BMap.js" ></script> <script type="text/javascript"> // 扩展API是否准备好,如果没有则监听“plusready"事件 if(window.plus){ plusReady(); }else{ document.addEventListener( "plusready", plusReady, false ); } // 扩展API准备完成后要执行的操作 function plusReady(){ var map = new BMap.Map("allmap"); var longitude, latitude; navigator.geolocation.getCurrentPosition(function (position) { longitude = position.coords.longitude; latitude = position.coords.latitude; }); setTimeout(function () { var gpsPoint = new BMap.Point(longitude, latitude); BMap.Convertor.translate(gpsPoint, 0, function (point) { var geoc = new BMap.Geocoder(); geoc.getLocation(point, function (rs) { var addComp = rs.addressComponents; alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); }); }); }, 3000); } </script>
BMap.js:
(function(){ window.BMap_loadScriptTime = (new Date).getTime(); document.write('<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.3"></script>'); document.write('<link rel="stylesheet" type="text/css" href="http://api.map.baidu.com/res/13/bmap.css"/>'); //2011-7-25 function load_script(xyUrl, callback){ var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = xyUrl; //借鉴了jQuery的script跨域方法 script.onload = script.onreadystatechange = function(){ if((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){ callback && callback(); // Handle memory leak in IE script.onload = script.onreadystatechange = null; if ( head && script.parentNode ) { head.removeChild( script ); } } }; // Use insertBefore instead of appendChild to circumvent an IE6 bug. head.insertBefore( script, head.firstChild ); } function translate(point,type,callback){ var callbackName = 'cbk_' + Math.round(Math.random() * 10000); //随机函数名 var xyUrl = "http://api.map.baidu.com/ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackName; //动态创建script标签 load_script(xyUrl); BMap.Convertor[callbackName] = function(xyResult){ delete BMap.Convertor[callbackName]; //调用完需要删除改函数 var point = new BMap.Point(xyResult.x, xyResult.y); callback && callback(point); } } window.BMap = window.BMap || {}; BMap.Convertor = {}; BMap.Convertor.translate = translate; })();
相关文章推荐
- 利用html5新增geolocation对象加百度地图API获取用户详细地址
- 根据IP获取详细地址,可以用来做用户识别.进入地区站
- 百度地图API根据具体地址获取经纬度
- C#微信开发之旅(七):根据经纬度获取地址(百度地图Api)
- 【Java】 java调用百度地图API根据地理位置中文获取经纬度 地址备忘
- PHP CURL根据详细地址获取腾讯地图经纬度
- android 基于百度地图api开发定位以及获取详细地址
- android 基于百度地图api开发定位以及获取详细地址
- 根据经纬度获取百度地图的详细地址信息
- 百度地图API,获取地址的经纬度,根据坐标位置获取地理位置,,获取两个地理坐标的直线距离
- java获取远端ip并根据ip得到详细地址信息
- 根据详细地址获取经纬度
- 求助!!!百度地图api可以根据地址获取到经纬度吗
- android 基于百度地图api开发定位以及获取详细地址
- android 基于百度地图api开发定位以及获取详细地址
- 凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度
- 根据详细地址获取经纬度
- google map根据地址获取经纬度
- 根据class/struct中一个成员的地址,获取该class/struct的地址
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位