zoukankan      html  css  js  c++  java
  • 地图对接汇总(百度地图)

    <span style="font-family:Microsoft YaHei;font-size:14px;"><html>  
        <head>          
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
            <title>百度地图搜索</title>  
            <script type="text/javascript" src="http://mapclick.map.baidu.com/data/98_36_11_018.js"></script>  
            <script type="text/javascript"   
                src="http://api.map.baidu.com/api?v=1.5&ak=1jwM1UGS8wPTvaiUSUaUnuOG"></script>  
        </head>  
        <body>  
            <div style="520px;height:340px;border:1px solid gray" id="container"></div>  
              
            要查询的地址:<input id="text_" type="text" value="山东济南泉城广场" style="margin-right:100px;"/>  
            查询结果(经纬度):<input id="result_" type="text" />  
            <input type="button" value="地址查询经纬度" onclick="searchByStationName();"/>  
              
            <div id="r-result">  
            城市名: <input id="cityName" type="text" style="100px; margin-right:10px;" />  
                    <input type="button" value="查询" onclick="theLocation()" />  
            </div>  
            <div id="results" style="font-size:13px;margin-top:10px;"></div>  
        </body>  
    </html>  
    <script type="text/javascript">  
      
        var map = new BMap.Map("container");  
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  
        map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用  
        map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用  
        //为了使用地图更加方便,我们还可以添加上缩放的平移控件,以及地图的缩略图控件,并设置他要显示的位置:  
        map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件  
        map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件  
        map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT }));   //右下角,打开  
          
        //var local = new BMap.LocalSearch(map, {  
        //    renderOptions: {map: map, panel: "results"}  
        //});  
        //var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: map.getCenter()};  
        ////var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: new BMap.Size(10, 10)};  
        //map.addControl(new BMap.NavigationControl(opts));  
          
        //local.search("北京市海淀区上地地铁站");  
          
          
          
        //1.构建搜索  
        var localSearch = new BMap.LocalSearch(map);  
        localSearch.enableAutoViewport(); //允许自动调节窗体大小  
        //2.开始做最关键的一步了,就是获取地址的具体经纬度:  
        var searchByStationName = function(){  
            var keyword = document.getElementById("text_").value;  
            //搜索回调方法  
          localSearch.setSearchCompleteCallback(function (searchResult) {  
                alert(searchResult);  
            var poi = searchResult.getPoi(0);  
            document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; //获取经度和纬度,将结果显示在文本框中  
            map.centerAndZoom(poi.point, 13);  
          });  
          localSearch.search(keyword);  
        }  
          
          
        /********************************** 
        ***********百度地图API功能********* 
        **********************************/  
        //1.城市名定位  
        //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);      // 用城市名设置地图中心点  
            }  
        }  
          
        //2.IP定位获取当前城市  
        function myFun(result){  
            var cityName = result.name;  
            map.setCenter(cityName);  
            alert("当前定位城市:"+cityName);  
        }  
        var myCity = new BMap.LocalCity();  
        myCity.get(myFun);  
          
        //3.单击获取点击的经纬度  
        //单击获取点击的经纬度  
        var longitude = "";//经度  
        var latitude = "";//纬度  
        map.addEventListener("click",function(e){  
            alert("经度:"+e.point.lng + "," + "纬度:" +e.point.lat);  
            longitude = e.point.lng;  
            latitude = e.point.lat;  
            if(longitude != "" && latitude != ""){  
                map.clearOverlays();   
                var new_point = new BMap.Point(longitude,latitude);  
                var marker = new BMap.Marker(new_point);  // 创建标注  
                map.addOverlay(marker);              // 将标注添加到地图中  
                map.panTo(new_point);  
                marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画  
            }  
        });  
          
          
        //4 用经纬度设置地图中心点  
        /*function theLocation(){ 
            if(longitude != "" && latitude != ""){ 
                map.clearOverlays();  
                var new_point = new BMap.Point(longitude,latitude); 
                var marker = new BMap.Marker(new_point);  // 创建标注 
                map.addOverlay(marker);              // 将标注添加到地图中 
                map.panTo(new_point); 
            } 
        }*/  
          
        //5.逆地址解析,点击地图展示详细地址  
        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>  
    </span>  

    附上baidu地图APIdemo地址:http://developer.baidu.com/map/jsdemo.htm

  • 相关阅读:
    C语言库函数大全及应用实例十一
    Oracle数据库游标使用大全
    搂来的menu
    vagerent的Asp.net笔记
    小别
    图解Oracle 11g physical standby Rolling Upgrade物理备库滚动升级特性
    图解MySQL Replication的几种拓扑
    MySQL企业版VS社区版
    图解揭秘Oracle Buffer Header数据结构
    Oracle、MySQL、SQL Server架构大对比
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/3990605.html
Copyright © 2011-2022 走看看