解决kindeditor编辑器中使用百度地图时不能拖动坐标的问题
覆盖\plugins\baidumap文件夹下的map.html代码即可
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Baidu Maps </title>
<style>
html {
height: 100%;
}
body {
height: 100%;
margin: 0;
padding: 0;
background-color: #FFF;
}
#map_canvas {
height: 100%;
width:100%;
}
</style>
</head>
<body>
<div id="map_canvas"></div>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<script type="text/javascript">
function getUrlParas() {
var hash = location.hash,
para = {},
tParas = hash.substr(1).split("&");
for (var p in tParas) {
if (tParas.hasOwnProperty(p)) {
var obj = tParas[p].split("=");
para[obj[0]] = obj[1];
}
}
return para;
}
var para = getUrlParas(),
center = para.address ? decodeURIComponent(para.address) : "百度大厦",
city = para.city ? decodeURIComponent(para.city) : "北京市";
var marker_trick = false;
var map = new BMap.Map("map_canvas");
map.enableScrollWheelZoom();
var marker = new BMap.Marker(new BMap.Point(116.404, 39.915), {
enableMassClear: false,
raiseOnDrag: true
});
marker.enableDragging();
map.addOverlay(marker);
map.addEventListener("click", function (e) {
if (!(e.overlay)) {
map.clearOverlays();
marker.show();
marker.setPosition(e.point);
setResult(e.point.lng, e.point.lat);
}
});
marker.addEventListener("dragend", function (e) {
setResult(e.point.lng, e.point.lat);
});
var local = new BMap.LocalSearch(map, {
renderOptions: { map: map },
pageCapacity: 1
});
local.setSearchCompleteCallback(function (results) {
if (local.getStatus() !== BMAP_STATUS_SUCCESS) {
alert("无结果");
} else {
marker.hide();
}
});
local.setMarkersSetCallback(function (pois) {
for (var i = pois.length; i--;) {
var marker = pois[i].marker;
marker.addEventListener("click", function (e) {
marker_trick = true;
var pos = this.getPosition();
setResult(pos.lng, pos.lat);
});
}
});
window.onload = function () {
local.search(center);
};
function search(address) {
local.search(address);
}
/*
* setResult : 定义得到标注经纬度后的操作
* 请修改此函数以满足您的需求
* lng: 标注的经度
* lat: 标注的纬度
*/
function setResult(lng, lat) {
map.panTo(new BMap.Point(lng, lat));
}
</script>
</body>
</html>
最新文章
- 深入理解CSS3 Animation 帧动画
- Linux入门
- 用CorelDRAW等分分割图片的方法
- Spring properties dependency checking
- 枚举的基本使用方法 Enumerations
- php,ajax登陆退出
- NSURLSessionConfiguration的简单实用
- CMake必知必会
- angular4.0路由传递参数、获取参数最nice的写法
- Arrays和String单元测试(课下作业,选做)
- Elasticsearch--Aggregation详细总结(聚合统计)
- BZOJ1497 [NOI2006]最大获利 网络流 最小割 SAP
- 网站favicon图标的显示问题
- BZOJ4883 棋盘上的守卫 基环树、Kruskal
- 利用PHP脚本辅助MySQL数据库管理2-表主键表索引
- BZOJ4556:[TJOI\HEOI2016]字符串(后缀数组,主席树,二分,ST表)
- TensorFlow 实现线性回归
- Android 自定义控件-高仿猎豹清理大师自定义内存开口圆环控件
- 基于jQuery经典扫雷游戏源码
- 六、物理数据模型(PDM逆向工程)