html5移动端根据百度地图api获取详细地址

    <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;
})();
				
时间: 2024-08-15 18:17:31

html5移动端根据百度地图api获取详细地址的相关文章

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地(转)

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地 我是应用在微信中,自定义菜单,菜单直接链接到这个HTML5页面,获取当前位置后,页面中定好目的地,这样打开页面后直接进入导航页面 可以省下先发送位置信息后,点确定再出导航,省一步, <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"> <meta name="viewpor

HTML5地理定位,百度地图API,知识点熟悉

判断浏览器的兼容问题: IE9+支持地理定位,FF Chrome新版支持地理定位  if (navigator.geolocation) { alert('支持地理定位'); } else { alert('不支持地理定位'); } 获取自己位置经纬度 <script> var x=document.getElementById("wrap"); function getLocation () { if (navigator.geolocation) { navigator

根据百度地图API获取指定地点的经纬度

做项目时,遇到对地点获取地图中对应的经纬度,作一下笔记,以备以后直接使用 package com.hpzx.data; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.n

通过百度地图API实现搜索地址--第三方开源--百度地图(三)

搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html 1 package com.zzw.baidumappoint; 2 3 import com.baidu.location.BDLocation; 4 import com.baidu.location.BDLocationListener; 5 import com.baidu.location.Location

HTML5 利用百度地图API获取当前位置

由于项目需要定位到城市,研究了地理定位,做了一些手记,和大家分享一下~ 项目的开发需求是获取到当前用户的位置,然后为用户提供一些服务. 此时可以采用两种定位方式,一种是用GPS的定位,然后将定位到的经纬度传递到百度地图的API接口当中.另一种方法是利用百度API接口,使用IP地址定位,然后使用IP地址获取到的经纬度,传递到百度地图API接口中. 自己尝试使用了这两种方式进行定位.相对来说,IP地址定位,偏差比较大.GPS定位虽然还可以,但是也不足够精确.产生比较大偏差的原因有可能是以下几点造成的

PhoneGap Geolocation结合百度地图api获取地理位置api

一.使用百度地图API 1.地址:http://developer.baidu.com/map/ 2.在js DEMO中获取反地址解析的DEMO 3.修改这个DEMO的密钥,去创建应用就能创建密钥,然后复制密钥到这个页面即可 4.使用PhoneGap Geolocation 获取地理位置获取到的经度和纬度赋值给point即可 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <

利用百度地图API获取当前位置信息

利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了.这里分享一个制作的JS可以实现登录网页后定位: 1 <script type="text/javascript"> 2 var map; 3 var gpsPoint; 4 var baiduPoint; 5 var gpsAddress; 6 var baiduAddress; 7 var x; 8 var y; 9 function getLocation() { 10 //根据IP获取城市 1

百度地图API获取数据

目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费API获取数据的还有很多,包括新浪.豆瓣电影.饿了么.阿里.腾讯等今天使用百度地图API来请求我们想要的数据. 第一步.注册百度开发者账号 注册成功后就可以获取到应用服务AK也就是API秘钥,这个是最重要的,应用名称可以随便取,如果是普通用户一天只有2000调用限额,认证用户一天有10万次调用限额 在百

[WPF] 浏览百度地图并获取经纬度地址信息

项目中需要利用登记的区域和地址在百度地图上定位,并获取该地址的经纬度. 本次功能对我来说主要难点如下:1.百度地图API的基本使用方法,请首选使用百度地图的JavaScript大众版(PS:之前使用WebAPI会导致WebBrowser浏览出现很多问题):JavaScript大众版网址:http://developer.baidu.com/map/index.php?title=jspopular2.WPF WebBrowser控件中的JavaScript与WPF的交互:3.WPF WebBro