django-admin引用百度地图

实现的功能有,某个地点对应的经纬度自动填上,如果有经纬度的话,自动显示对应经纬度的地点,密匙在去百度地图引用搜索

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=密匙"></script>
<!--根据地址判断是否是添加批量地图-->
    {% if 'admin/django_admin/company' in request.path %}
    <div id="container"
            style="
            margin-bottom: 40px;
                 500px;
                height: 400px;
                top: 50px;
                border: 1px solid gray;
                overflow:hidden;">

   <div id="allmap"></div>
   <div id="r-result">
      经度: <input id="longitude" type="text" style="100px; margin-right:10px;" />
      纬度: <input id="latitude" type="text" style="100px; margin-right:10px;" />
   </div>
    城市<input id="address" type="text" style="100px; margin-right:10px;"  onclick="myFun()"/>
</div>
    {% endif %}
<script type="text/javascript">
    lng1 = document.getElementById('id_lng').value;
    lat1 = document.getElementById('id_lat').value;
    if(lat1 && lng1){
        var map = new BMap.Map("allmap"); //实例化一个地图对象
        var point = new BMap.Point(lng1,lat1); //设置地图中心的位置
    }
    else{
        var map = new BMap.Map("allmap"); //实例化一个地图对象
        var point = new BMap.Point(121.540999,31.300627); //设置地图中心的位置
    }

    var marker = new BMap.Marker(point);
    map.addOverlay(marker);


    map.centerAndZoom(point,12); //设置地图元素的可视层

    map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用
    map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用

/*第一次先显示已填写经纬度*/
    var gc = new BMap.Geocoder();
    gc.getLocation(point, function (rs) {
        var addComp = rs.addressComponents;
        address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;/*显示地址*/
        var label = new BMap.Label(address, {offset: new BMap.Size(20, -10)});/*设置图标*/
        marker.setLabel(label);
    });

//显示点击的位置
    //点击获取坐标
    map.addEventListener("click",function(e) {
        var allOverlay = map.getOverlays();/*得到地图上的所有标注*/
        for (var i = 0; i < allOverlay.length; i++) {
            map.removeOverlay(allOverlay[i]);/*清除地图上的所有标注*/
        }
        //存储经纬度
        lng = e.point.lng;
        lat = e.point.lat;
        //在地图上面描点
        var marker = new BMap.Marker(new BMap.Point(lng, lat));  // 创建标注
        map.addOverlay(marker);
        marker.enableDragging();    //可拖拽
        var gc = new BMap.Geocoder();
        //获取地址的数据地址
        var pt = e.point;
        gc.getLocation(pt, function (rs) {
            var addComp = rs.addressComponents;
            address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
            document.getElementById('id_address').value = address;
            document.getElementById('id_lng').value = lng;
            document.getElementById('id_lat').value = lat;
            //画图
            var label = new BMap.Label(address, {offset: new BMap.Size(20, -10)});
            marker.setLabel(label);
        });
    });
//描点分为创建标注和画图两部分
</script>
原文地址:https://www.cnblogs.com/wuqingzangyue/p/5458161.html