zoukankan      html  css  js  c++  java
  • 输入地址在地图上标记位置并保存坐标(可自定义拖拽标注)

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>百度地图</title>

    </head>
    <body>
    <input type="text" id="address" value="" onchange="setMarker(this)"/>
    <input type="text" id="x" value="" />
    <input type="text" id="y" value="" />
    <div id="allmap" style=" 800px; height: 500px"></div>
    </body>
    </html>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
    <script src="/js/jquery-1.11.2.min.js"></script>
    <script type="text/javascript">

    var map = new BMap.Map("allmap");// 创建Map实例
    map.centerAndZoom("济南",12);// 初始化地图,设置中心点坐标和地图级别。
    var localSearch = new BMap.LocalSearch(map);
    map.enableScrollWheelZoom(true);//鼠标滑动轮子可以滚动
    function setMarker(obj){
    $('#x').val('');
    $('#y').val('');
    var allOverlay=map.getOverlays();
    for(var i=0;i<allOverlay.length;i++){
    map.removeOverlay(allOverlay[i]);
    }
    localSearch.search($(obj).val());
    localSearch.setSearchCompleteCallback(function (searchResult) {
    if(searchResult!=undefined){
    var poi = searchResult.getPoi(0);
    $('#x').val(poi.point.lng);
    $('#y').val(poi.point.lat);
    map.panTo(new BMap.Point(poi.point.lng, poi.point.lat));
    map.setZoom(18);
    var point = new BMap.Point(poi.point.lng ,poi.point.lat);//默认
    // 创建标注对象并添加到地图
    var marker = new BMap.Marker(point);
    map.addOverlay(marker);
    marker.enableDragging(); //可拖拽
    marker.addEventListener("dragend", function(e){
    $('#x').val(e.point.lng);
    $('#y').val(e.point.lat);
    });

    }else{
    map.centerAndZoom("济南市",12);
    }
    });

    }
    map.addEventListener("tilesloaded",addMarker);
    function addMarker(){
    var x = $("#x").val();
    var y = $("#y").val();
    if(x!=''&&y!=''){
    map.panTo(new BMap.Point(x, y));
    map.setZoom(18);
    var point = new BMap.Point(x ,y);//默认
    // 创建标注对象并添加到地图
    var marker = new BMap.Marker(point);
    map.addOverlay(marker);
    marker.enableDragging(); //可拖拽
    marker.addEventListener("dragend", function(e){
    $('#x').val(e.point.lng);
    $('#y').val(e.point.lat);
    });
    }
    map.removeEventListener("tilesloaded",addMarker);
    }
    </script>

  • 相关阅读:
    Nginx的配置详解
    马拉车算法
    C++ 智能指针(shared_ptr/weak_ptr)原理分析
    大小端(内存、寄存器、CPU)
    printf函数输出字符串乱码问题
    ArcGIS中应用Expressions标注(Label)之二—使用外部数据库中数据标注要素
    Cisco Aironet ap3g1/ap3g2 8.5版本胖AP固件网页配置教程
    Golang mapstructure
    NDB 和 InnoDB 的不同
    高质量:Makefile
  • 原文地址:https://www.cnblogs.com/hxlj130520/p/13566911.html
Copyright © 2011-2022 走看看