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/ ...
随机推荐
- java中的参数传递——值传递、引用传递
参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递. 在 Java 应用程序中永远不会传递对象,而只传递对象引用.因此是按引用传递对象.Java 应用程序按引用 ...
- Stage3D&Away3D整理ppt
资料下载地址:http://files.cnblogs.com/xignzou/away3D%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0%E5%88%86%E4%BA%AB ...
- python装饰器的理解
学习python,发现装饰器是一个比较难理解的地方. 下面用代码来说明. 装饰器的作用是为了切面编程(AOP).这种编程在java上有很多实现方式.下面直接说明吧: 1.作为装饰器的函数至少有两个de ...
- 551. Student Attendance Record I【easy】
551. Student Attendance Record I[easy] You are given a string representing an attendance record for ...
- 680. Valid Palindrome II【easy】
680. Valid Palindrome II[easy] Given a non-empty string s, you may delete at most one character. Jud ...
- python C example:encode mp3 code
#include <stdio.h> #include <stdlib.h> #include <lame.h> #define INBUFSIZE 4096 #d ...
- iOS大文件分片上传和断点续传
总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...
- Sublime 中 SFTP插件的使用
首先说明的是Sumblime Text 3,下载安装后,打开软件, 按下Ctrl+Shift+P调出命令面板, 按回车键后弹出下面的 然后 点击左上角的 文件 >SFTP/FTP > Se ...
- Linux中解压缩命令gzip和unzip的一点说明
inux中解压缩命令gzip和unzip的一点说明 转载 2014年10月29日 20:37:35 20741 Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压 ...
- 【转】windows下python开发环境搭建
1 -- 安装python的前期准备 Python开发有众多工具,又以Eclipse+Pydev最为常见.Eclipse平台对开发同学来讲,肯定是如雷贯耳,自不用废话.而PyDev是Eclipse平台 ...