风云冷雨吧 关注:2贴子:243

回复:百度地图JavaScript API

取消只看楼主收藏回复

4、动态设置驾车途径点
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=eYf9sA6yVTFHlh9ytU4a0EYY"></script>
<title>设置驾车路线途经点</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
map.enableScrollWheelZoom(true);
var p1 = new BMap.Point(116.301934,39.977552);
var p2 = new BMap.Point(116.508328,39.919141);
var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}});
driving.search(p1, p2,{waypoints:["中华民族园","对外经贸大学"]});//waypoints表示途经点
</script>
5、驾车路线的结果面板
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html {width: 100%;height: 100%; margin:0;font-family:"微软雅黑";}
#l-map{height:300px;width:100%;}
#r-result,#r-result table{width:100%;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<title>驾车导航的结果面板</title>
</head>
<body>
<div id="l-map"></div>
<div id="r-result"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("l-map");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
var driving = new BMap.DrivingRoute(map, {renderOptions: {map: map, panel: "r-result", autoViewport: true}});
driving.search("中关村一街", "魏公村");
</script>


IP属地:浙江141楼2017-06-08 22:38
回复
    6、驾车路线的数据接口
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    body, html {width: 100%;height: 100%; margin:0;font-family:"微软雅黑";}
    #l-map{height:300px;width:100%;}
    #r-result{width:100%; font-size:14px; line-height:20px;}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>驾车导航的数据接口</title>
    </head>
    <body>
    <div id="l-map"></div>
    <div id="r-result"></div>
    </body>
    </html>
    <script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("l-map");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
    var options = {
    onSearchComplete: function(results){
    if (driving.getStatus() == BMAP_STATUS_SUCCESS){
    // 获取第一条方案
    var plan = results.getPlan(0);
    // 获取方案的驾车线路
    var route = plan.getRoute(0);
    // 获取每个关键步骤,并输出到页面
    var s = [];
    for(var j = 0;j < plan.getNumRoutes(); j++){
    var route = plan.getRoute(j);
    for (var i = 0; i < route.getNumSteps(); i++){
    var step = route.getStep(i);
    s.push((i + 1) + ". " + step.getDescription());
    }
    }
    document.getElementById("r-result").innerHTML = s.join("
    ");
    }
    }
    };
    var driving = new BMap.DrivingRoute(map, options);
    driving.search("天安门", "百度大厦",{waypoints:['西直门']});
    </script>
    7、计算驾车时间和距离
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>计算驾车时间与距离</title>
    </head>
    <body>
    <div id="allmap"></div>
    </body>
    </html>
    <script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
    var output = "从上地到西单驾车需要";
    var searchComplete = function (results){
    if (transit.getStatus() != BMAP_STATUS_SUCCESS){
    return ;
    }
    var plan = results.getPlan(0);
    output += plan.getDuration(true) + "\n"; //获取时间
    output += "总路程为:" ;
    output += plan.getDistance(true) + "\n"; //获取距离
    }
    var transit = new BMap.DrivingRoute(map, {renderOptions: {map: map},
    onSearchComplete: searchComplete,
    onPolylinesSet: function(){
    setTimeout(function(){alert(output)},"1000");
    }});
    transit.search("上地", "西单");
    </script>
    8、计算打车费用
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>计算打车费用</title>
    </head>
    <body>
    <div id="allmap"></div>
    </body>
    </html>
    <script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
    var driving = new BMap.DrivingRoute(map, {onSearchComplete:yyy,renderOptions:{map: map, autoViewport: true}});
    driving.search("安定门", "王府井"); //驾车查询
    function yyy(rs){
    alert("从安定门到王府井打车总费用为:"+rs.taxiFare.day.totalFare+"元"); //计算出白天的打车费用的总价
    }
    </script>


    IP属地:浙江142楼2017-06-08 22:43
    回复
      2025-06-07 02:09:49
      广告
      十四、步行规划
      1、根据起终点名称规划步行路线
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
      <style type="text/css">
      body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
      </style>
      <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
      <title>步行导航检索</title>
      </head>
      <body>
      <div id="allmap"></div>
      </body>
      </html>
      <script type="text/javascript">
      // 百度地图API功能
      var map = new BMap.Map("allmap");
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
      var walking = new BMap.WalkingRoute(map, {renderOptions:{map: map, autoViewport: true}});
      walking.search("天坛公园", "故宫");
      </script>
      2、步行规划结果面板
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
      <style type="text/css">
      body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
      #l-map{height:300px;width:100%;}
      #r-result,#r-result table{width:100%;}
      </style>
      <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
      <title>获取步行导航的结果面板</title>
      </head>
      <body>
      <div id="l-map"></div>
      <div id="r-result"></div>
      </body>
      </html>
      <script type="text/javascript">
      // 百度地图API功能
      var map = new BMap.Map("l-map");
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
      var walking = new BMap.WalkingRoute(map, {renderOptions: {map: map, panel: "r-result", autoViewport: true}});
      walking.search("天坛公园", "故宫");
      </script>


      IP属地:浙江143楼2017-06-08 22:48
      回复
        十五、逆/地址解析
        1、地址解析
        <!DOCTYPE html>
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
        </style>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
        <title>地址解析</title>
        </head>
        <body>
        <div id="allmap"></div>
        </body>
        </html>
        <script type="text/javascript">
        // 百度地图API功能
        var map = new BMap.Map("allmap");
        var point = new BMap.Point(116.331398,39.897445);
        map.centerAndZoom(point,12);
        // 创建地址解析器实例
        var myGeo = new BMap.Geocoder();
        // 将地址解析结果显示在地图上,并调整地图视野
        myGeo.getPoint("北京市海淀区上地10街", function(point){
        if (point) {
        map.centerAndZoom(point, 16);
        map.addOverlay(new BMap.Marker(point));
        }else{
        alert("您选择地址没有解析到结果!");
        }
        }, "北京市");
        </script>
        2、逆地址解析
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <style type="text/css">
        body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
        #allmap {width:100%;height:500px;}
        </style>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
        <title>逆地址解析</title>
        </head>
        <body>
        <div id="allmap"></div>
        <p>点击地图展示详细地址</p>
        </body>
        </html>
        <script type="text/javascript">
        // 百度地图API功能
        var map = new BMap.Map("allmap");
        var point = new BMap.Point(116.331398,39.897445);
        map.centerAndZoom(point,12);
        var geoc = new BMap.Geocoder();
        map.addEventListener("click", function(e){
        var pt = e.point;
        geoc.getLocation(pt, function(rs){
        var addComp = rs.addressComponents;
        alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
        });
        });
        </script>


        IP属地:浙江144楼2017-06-08 22:55
        回复
          3、批量地址解析
          <!DOCTYPE html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
          <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
          <title>批量地址</title>
          <style type="text/css">
          body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
          #l-map{height:300px;width:100%;}
          #r-result{width:100%; font-size:14px;line-height:20px;}
          </style>
          <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
          </head>
          <body>
          <div id="l-map"></div>
          <div id="r-result">
          <input type="button" value="批量地址解析" onclick="bdGEO()" />
          <div id="result"></div>
          </div>
          </body>
          </html>
          <script type="text/javascript">
          // 百度地图API功能
          var map = new BMap.Map("l-map");
          map.centerAndZoom(new BMap.Point(117.269945,31.86713), 13);
          map.enableScrollWheelZoom(true);
          var index = 0;
          var myGeo = new BMap.Geocoder();
          var adds = [
          "包河区金寨路1号(金寨路与望江西路交叉口)",
          "庐阳区凤台路209号(凤台路与蒙城北路交叉口)",
          "蜀山区金寨路217号(近安医附院公交车站)",
          "蜀山区梅山路10号(近安徽饭店) ",
          "蜀山区 长丰南路159号铜锣湾广场312室",
          "合肥市寿春路93号钱柜星乐町KTV(逍遥津公园对面)",
          "庐阳区长江中路177号",
          "新站区胜利路89"
          ];
          function bdGEO(){
          var add = adds[index];
          geocodeSearch(add);
          index++;
          }
          function geocodeSearch(add){
          if(index < adds.length){
          setTimeout(window.bdGEO,400);
          }
          myGeo.getPoint(add, function(point){
          if (point) {
          document.getElementById("result").innerHTML += index + "、" + add + ":" + point.lng + "," + point.lat + "</br>";
          var address = new BMap.Point(point.lng, point.lat);
          addMarker(address,new BMap.Label(index+":"+add,{offset:new BMap.Size(20,-10)}));
          }
          }, "合肥市");
          }
          // 编写自定义函数,创建标注
          function addMarker(point,label){
          var marker = new BMap.Marker(point);
          map.addOverlay(marker);
          marker.setLabel(label);
          }
          </script>
          4、批量逆地址解析
          <!DOCTYPE html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
          <title>批量反地址解析+商圈</title>
          <style type="text/css">
          body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
          #l-map{height:300px;width:100%;}
          #r-result{width:100%; font-size:14px;line-height:20px;}
          </style>
          <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
          </head>
          <body>
          <div id="l-map"></div>
          <div id="r-result">
          <input type="button" value="批量反地址解析+商圈" onclick="bdGEO(0)" />
          <div id="result"></div>
          </div>
          </body>
          </html>
          <script type="text/javascript">
          // 百度地图API功能
          var map = new BMap.Map("l-map");
          map.centerAndZoom(new BMap.Point(116.328749,40.026922), 13);
          map.enableScrollWheelZoom(true);
          var index = 0;
          var myGeo = new BMap.Geocoder();
          var adds = [
          new BMap.Point(116.307852,40.057031),
          new BMap.Point(116.313082,40.047674),
          new BMap.Point(116.328749,40.026922),
          new BMap.Point(116.347571,39.988698),
          new BMap.Point(116.316163,39.997753),
          new BMap.Point(116.345867,39.998333),
          new BMap.Point(116.403472,39.999411),
          new BMap.Point(116.307901,40.05901)
          ];
          for(var i = 0; i<adds.length; i++){
          var marker = new BMap.Marker(adds[i]);
          map.addOverlay(marker);
          marker.setLabel(new BMap.Label("我是商圈:"+(i+1),{offset:new BMap.Size(20,-10)}));
          }
          function bdGEO(){
          var pt = adds[index];
          geocodeSearch(pt);
          index++;
          }
          function geocodeSearch(pt){
          if(index < adds.length-1){
          setTimeout(window.bdGEO,400);
          }
          myGeo.getLocation(pt, function(rs){
          var addComp = rs.addressComponents;
          document.getElementById("result").innerHTML += index + ". " +adds[index-1].lng + "," + adds[index-1].lat + ":" + "商圈(" + rs.business + ") 结构化数据(" + addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber + ")

          ";
          });
          }
          </script>


          IP属地:浙江145楼2017-06-08 23:01
          回复
            十六、坐标转换
            1、google坐标转换为百度坐标
            <!DOCTYPE html>
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <style type="text/css">
            body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
            </style>
            <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
            <title>google转百度</title>
            </head>
            <body>
            <div id="allmap"></div>
            </body>
            </html>
            <script type="text/javascript">
            // 百度地图API功能
            //谷歌坐标
            var x = 116.32715863448607;
            var y = 39.990912172420714;
            var ggPoint = new BMap.Point(x,y);
            //地图初始化
            var bm = new BMap.Map("allmap");
            bm.centerAndZoom(ggPoint, 15);
            bm.addControl(new BMap.NavigationControl());
            //添加谷歌marker和label
            var markergg = new BMap.Marker(ggPoint);
            bm.addOverlay(markergg); //添加谷歌marker
            var labelgg = new BMap.Label("未转换的谷歌标注(错误)",{offset:new BMap.Size(20,-10)});
            markergg.setLabel(labelgg); //添加谷歌label
            //坐标转换完之后的回调函数
            translateCallback = function (data){
            if(data.status === 0) {
            var marker = new BMap.Marker(data.points[0]);
            bm.addOverlay(marker);
            var label = new BMap.Label("转换后的百度标注(正确)",{offset:new BMap.Size(20,-10)});
            marker.setLabel(label); //添加百度label
            bm.setCenter(data.points[0]);
            }
            }
            setTimeout(function(){
            var convertor = new BMap.Convertor();
            var pointArr = [];
            pointArr.push(ggPoint);
            convertor.translate(pointArr, 3, 5, translateCallback)
            }, 1000);
            </script>
            2、原始坐标转成百度坐标
            <!DOCTYPE html>
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <style type="text/css">
            body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
            </style>
            <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
            <title>GPS转百度</title>
            </head>
            <body>
            <div id="allmap"></div>
            </body>
            </html>
            <script type="text/javascript">
            // 百度地图API功能
            //GPS坐标
            var x = 116.32715863448607;
            var y = 39.990912172420714;
            var ggPoint = new BMap.Point(x,y);
            //地图初始化
            var bm = new BMap.Map("allmap");
            bm.centerAndZoom(ggPoint, 15);
            bm.addControl(new BMap.NavigationControl());
            //添加gps marker和label
            var markergg = new BMap.Marker(ggPoint);
            bm.addOverlay(markergg); //添加GPS marker
            var labelgg = new BMap.Label("未转换的GPS坐标(错误)",{offset:new BMap.Size(20,-10)});
            markergg.setLabel(labelgg); //添加GPS label
            //坐标转换完之后的回调函数
            translateCallback = function (data){
            if(data.status === 0) {
            var marker = new BMap.Marker(data.points[0]);
            bm.addOverlay(marker);
            var label = new BMap.Label("转换后的百度坐标(正确)",{offset:new BMap.Size(20,-10)});
            marker.setLabel(label); //添加百度label
            bm.setCenter(data.points[0]);
            }
            }
            setTimeout(function(){
            var convertor = new BMap.Convertor();
            var pointArr = [];
            pointArr.push(ggPoint);
            convertor.translate(pointArr, 1, 5, translateCallback)
            }, 1000);
            </script>
            3、批量坐标转换
            <!DOCTYPE html>
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
            <style type="text/css">
            body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
            </style>
            <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
            <title>批量转换</title>
            </head>
            <body>
            <div id="allmap"></div>
            </body>
            </html>
            <script type="text/javascript">
            var points = [new BMap.Point(116.3786889372559,39.90762965106183),
            new BMap.Point(116.38632786853032,39.90795884517671),
            new BMap.Point(116.39534009082035,39.907432133833574),
            new BMap.Point(116.40624058825688,39.90789300648029),
            new BMap.Point(116.41413701159672,39.90795884517671)
            ];
            //地图初始化
            var bm = new BMap.Map("allmap");
            bm.centerAndZoom(new BMap.Point(116.378688937,39.9076296510), 15);
            //坐标转换完之后的回调函数
            translateCallback = function (data){
            if(data.status === 0) {
            for (var i = 0; i < data.points.length; i++) {
            bm.addOverlay(new BMap.Marker(data.points[i]));
            bm.setCenter(data.points[i]);
            }
            }
            }
            setTimeout(function(){
            var convertor = new BMap.Convertor();
            convertor.translate(points, 1, 5, translateCallback)
            }, 1000);
            </script>


            IP属地:浙江146楼2017-06-08 23:10
            回复
              十七、输入提示示例
              1、关键字提示输入
              <!DOCTYPE html>
              <html>
              <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
              <style type="text/css">
              body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
              #l-map{height:300px;width:100%;}
              #r-result{width:100%;}
              </style>
              <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
              <title>关键字输入提示词条</title>
              </head>
              <body>
              <div id="l-map"></div>
              <div id="r-result">请输入:<input type="text" id="suggestId" size="20" value="百度" style="width:150px;" /></div>
              <div id="searchResultPanel" style="border:1px solid #C0C0C0;width:150px;height:auto; display:none;"></div>
              </body>
              </html>
              <script type="text/javascript">
              // 百度地图API功能
              function G(id) {
              return document.getElementById(id);
              }
              var map = new BMap.Map("l-map");
              map.centerAndZoom("北京",12); // 初始化地图,设置城市和地图级别。
              var ac = new BMap.Autocomplete( //建立一个自动完成的对象
              {"input" : "suggestId"
              ,"location" : map
              });
              ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
              var str = "";
              var _value = e.fromitem.value;
              var value = "";
              if (e.fromitem.index > -1) {
              value = _value.province + _value.city + _value.district + _value.street + _value.business;
              }
              str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
              value = "";
              if (e.toitem.index > -1) {
              _value = e.toitem.value;
              value = _value.province + _value.city + _value.district + _value.street + _value.business;
              }
              str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
              G("searchResultPanel").innerHTML = str;
              });
              var myValue;
              ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
              var _value = e.item.value;
              myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
              G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
              setPlace();
              });
              function setPlace(){
              map.clearOverlays(); //清除地图上所有覆盖物
              function myFun(){
              var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
              map.centerAndZoom(pp, 18);
              map.addOverlay(new BMap.Marker(pp)); //添加标注
              }
              var local = new BMap.LocalSearch(map, { //智能搜索
              onSearchComplete: myFun
              });
              local.search(myValue);
              }
              </script>


              IP属地:浙江147楼2017-06-08 23:16
              回复
                十八、定位示例
                1、浏览器定位
                <html>
                <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
                <style type="text/css">
                body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
                </style>
                <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
                <title>浏览器定位</title>
                </head>
                <body>
                <div id="allmap"></div>
                </body>
                </html>
                <script type="text/javascript">
                // 百度地图API功能
                var map = new BMap.Map("allmap");
                var point = new BMap.Point(116.331398,39.897445);
                map.centerAndZoom(point,12);
                var geolocation = new BMap.Geolocation();
                geolocation.getCurrentPosition(function(r){
                if(this.getStatus() == BMAP_STATUS_SUCCESS){
                var mk = new BMap.Marker(r.point);
                map.addOverlay(mk);
                map.panTo(r.point);
                alert('您的位置:'+r.point.lng+','+r.point.lat);
                }
                else {
                alert('failed'+this.getStatus());
                }
                },{enableHighAccuracy: true})
                //关于状态码
                //BMAP_STATUS_SUCCESS检索成功。对应数值“0”。
                //BMAP_STATUS_CITY_LIST城市列表。对应数值“1”。
                //BMAP_STATUS_UNKNOWN_LOCATION位置结果未知。对应数值“2”。
                //BMAP_STATUS_UNKNOWN_ROUTE导航结果未知。对应数值“3”。
                //BMAP_STATUS_INVALID_KEY非法密钥。对应数值“4”。
                //BMAP_STATUS_INVALID_REQUEST非法请求。对应数值“5”。
                //BMAP_STATUS_PERMISSION_DENIED没有权限。对应数值“6”。(自 1.1 新增)
                //BMAP_STATUS_SERVICE_UNAVAILABLE服务不可用。对应数值“7”。(自 1.1 新增)
                //BMAP_STATUS_TIMEOUT超时。对应数值“8”。(自 1.1 新增)
                </script>
                2、根据ip定位
                <html>
                <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
                <style type="text/css">
                body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
                </style>
                <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
                <title>IP定位获取当前城市</title>
                </head>
                <body>
                <div id="allmap"></div>
                </body>
                </html>
                <script type="text/javascript">
                // 百度地图API功能
                var map = new BMap.Map("allmap");
                var point = new BMap.Point(116.331398,39.897445);
                map.centerAndZoom(point,12);
                function myFun(result){
                var cityName = result.name;
                map.setCenter(cityName);
                alert("当前定位城市:"+cityName);
                }
                var myCity = new BMap.LocalCity();
                myCity.get(myFun);
                </script>


                IP属地:浙江148楼2017-06-08 23:20
                回复
                  2025-06-07 02:03:49
                  广告
                  3、根据城市名定位
                  <html>
                  <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                  <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
                  <style type="text/css">
                  body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
                  #allmap{height:500px;width:100%;}
                  #r-result{width:100%; font-size:14px;}
                  </style>
                  <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
                  <title>城市名定位</title>
                  </head>
                  <body>
                  <div id="allmap"></div>
                  <div id="r-result">
                  城市名: <input id="cityName" type="text" style="width:100px; margin-right:10px;" />
                  <input type="button" value="查询" onclick="theLocation()" />
                  </div>
                  </body>
                  </html>
                  <script type="text/javascript">
                  // 百度地图API功能
                  var map = new BMap.Map("allmap");
                  var point = new BMap.Point(116.331398,39.897445);
                  map.centerAndZoom(point,11);
                  function theLocation(){
                  var city = document.getElementById("cityName").value;
                  if(city != ""){
                  map.centerAndZoom(city,11); // 用城市名设置地图中心点
                  }
                  }
                  </script>
                  4、根据经纬度定位
                  <html>
                  <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                  <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
                  <style type="text/css">
                  body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
                  #allmap{height:500px;width:100%;}
                  #r-result{width:100%; font-size:14px;}
                  </style>
                  <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
                  <title>城市名定位</title>
                  </head>
                  <body>
                  <div id="allmap"></div>
                  <div id="r-result">
                  经度: <input id="longitude" type="text" style="width:100px; margin-right:10px;" />
                  纬度: <input id="latitude" type="text" style="width:100px; margin-right:10px;" />
                  <input type="button" value="查询" onclick="theLocation()" />
                  </div>
                  </body>
                  </html>
                  <script type="text/javascript">
                  // 百度地图API功能
                  var map = new BMap.Map("allmap");
                  map.centerAndZoom(new BMap.Point(116.331398,39.897445),11);
                  map.enableScrollWheelZoom(true);
                  // 用经纬度设置地图中心点
                  function theLocation(){
                  if(document.getElementById("longitude").value != "" && document.getElementById("latitude").value != ""){
                  map.clearOverlays();
                  var new_point = new BMap.Point(document.getElementById("longitude").value,document.getElementById("latitude").value);
                  var marker = new BMap.Marker(new_point); // 创建标注
                  map.addOverlay(marker); // 将标注添加到地图中
                  map.panTo(new_point);
                  }
                  }
                  </script>


                  IP属地:浙江149楼2017-06-08 23:22
                  回复