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;
width: 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="width:100px; margin-right:10px;" />
纬度: <input id="latitude" type="text" style="width:100px; margin-right:10px;" />
</div>
城市<input id="address" type="text" style="width: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>
django-admin引用百度地图的更多相关文章
- JavaScript动态加载script方式引用百度地图API 拓展---JavaScript的Promise
上一篇博客JavaScript动态加载script方式引用百度地图API,Uncaught ReferenceError: BMap is not defined 这篇文章中我接触到一个新的单词:Pr ...
- JSP界面引用百度地图获取坐标
需求: 需要在JSP界面上引用百度地图,文本框中输入地址之后,自动拿到在百度地图上的经纬度 解决步骤: 1.引入百度地图api: head中进行引用<script type="text ...
- vue 项目中引用百度地图
新建map.js export const BaiduMap = { init: function() { const BMapURL = 'https://api.map.baidu.com/api ...
- JavaScript动态加载script方式引用百度地图API,Uncaught ReferenceError: BMap is not defined
百度地图官网文档介绍使用JSSDK时,仅提供了2种引入方式: script引入 异步加载 实际工作场景中仅某一两个页面或者只是单纯有功能需要用到百度地图,所以没有必要在 index.html 中全局引 ...
- c# 引用百度地图
<script type="text/javascript"> //创建和初始化地图函数 var map = new BMap.Map("home" ...
- iOS开发之引用百度地图SDK(一)-----------SDK开发指南
(void)viewWillAppear:(BOOL)animated { [_mapView viewWillAppear]; _mapView.delegate = self; // 此处记得不用 ...
- vue脚手架搭建项目引用百度地图--出坑
这是官网地址 https://dafrok.github.io/vue-baidu-map/#/zh/start/installation 需要声明注意的是 BaiduMap 组件容器本身是一个空的块 ...
- 解决页面引用百度地图API设置点的logo不显示问题
在写css时需要引用一个百度的api地图,却发现设置点的logo图片不能显示,后查阅百度测试发现是图片路径的问题: 在引用的下载的html页面找到 var icon = new BMap.Icon 将 ...
- vue 中引用 百度地图
1.在 http://lbsyun.baidu.com/ 申请 秘钥 2.在index.html文件中引入 <script src="http://api.map.baidu.com/ ...
随机推荐
- 转-Cannot refer to an instance field arg while explicitly invoking a constructor
编译失败: Cannot refer to an instance field arg while explicitly invoking a constructor 调用方法时不能引用一个实例变量 ...
- iOS视频压缩存储至本地并上传至服务器
最近做了一个项目,我把其中的核心功能拿出来和大家分享一下,重点还是自己梳理一下. 这里关于视频转码存储我整理了两个方法,这两个方法都是针对相册内视频进行处理的. 1.该方法没有对视频进行压缩,只是将视 ...
- srping mvc学习
HOME 控制器 package ghy.webapp.myapp; import java.text.DateFormat; import java.util.Date; import java.u ...
- MFC invalidate和RedrawWindow区别
Invalidate()函数是强制系统进行重画,但是不一定就马上进行重画.因为Invalidate()只是通知系统,此时的窗口已经变为无效.强制系统调用WM_PAINT,而这个消息只是Post就是将该 ...
- priority_queue优先队列/C++
priority_queue优先队列/C++ 概述 priority_queue是一个拥有权值观念的queue,只允许在底端加入元素,并从顶端取出元素. priority_queue带有权值观念,权值 ...
- mysql 顺序问题
unsigned 必须出在 not null 的前面,如果出现在这个后面就出错呢.
- 003android初级篇之【转】Android开发中颜色的定义方法
正好用到颜色的定义,但脑子里没有记住具体,转载一篇加强印象 1.使用Color类的常量,如: int color = Color.BLUE; // 创建一个蓝色 是使用Android提供的颜色 int ...
- sqlserver tips
方括号内的表示一个对象名(视图,存储过程,表 等).列名:正常使用时,加不加一样,但是如果对象名是保留字的话,比如cascade,就必须加:不过建议不用保留字作为对象名 if object_id('[ ...
- 2213 Problem J
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm& ...
- 利用Lucene将被索引文件目录中的所有文件建立索引
1.新建两个文件夹htm和index,其中htm中存放被索引的文件,index文件中存放建立的索引文件. 2.新建解析目录中所有文件的类,用来解析指定目录下的所有文件. import java.io. ...