最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS代碼實(shí)現(xiàn)百度地圖 畫圓 刪除標(biāo)注

 更新時(shí)間:2016年10月12日 16:43:11   作者:Smile燕  
這篇文章主要介紹了JS代碼實(shí)現(xiàn)百度地圖 畫圓 刪除標(biāo)注的相關(guān)資料,實(shí)現(xiàn)此功能的設(shè)計(jì)思路非常明確,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友參考下吧

把下面這段代碼復(fù)制到百度地圖的demo中運(yùn)行,效果就是我想設(shè)計(jì)的效果。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html {width: 100%;height: 100%;margin:0;font-family:"微軟雅黑";}
#allmap{width:100%;height:500px;}
p{margin-left:5px; font-size:14px;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密鑰"></script>
<title>圓形區(qū)域搜索</title>
</head>
<body>
<div id="allmap"></div>
<p>返回北京市地圖上圓形覆蓋范圍內(nèi)的“餐館”檢索結(jié)果,并展示在地圖上</p>
</body>
</html>
<script type="text/javascript">
// 百度地圖API功能
var map = new BMap.Map("allmap"); // 創(chuàng)建Map實(shí)例
var mPoint = new BMap.Point(116.404, 39.915); 
map.enableScrollWheelZoom();
map.centerAndZoom(mPoint,15);
var circle = new BMap.Circle(mPoint,1000,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3,enableEditing:true});
map.addOverlay(circle);
var removecircle = function(e,ee,marker){
//取得地圖上所有的覆蓋物
var overlays = map.getOverlays();
//取得圓形區(qū)域
var bounds = marker.getBounds();
var maker_arr = [];
for(var i=0;i<overlays.length;i++){
//判斷 覆蓋物為標(biāo)注的并且是在圓形區(qū)域內(nèi)部的
if(overlays[i].uQ == "Marker"){
//獲取標(biāo)注點(diǎn)到圓心的距離 與半徑做對比
if(map.getDistance(marker.getCenter(),overlays[i].getPosition()) < marker.getRadius()){
maker_arr.push(overlays[i]);
}
} 
}
var r=confirm("你確定要?jiǎng)h除區(qū)域中"+(maker_arr.length-1)+"個(gè)標(biāo)注嗎?");
if (r==true){
for(var i=0;i<maker_arr.length;i++){
map.removeOverlay(maker_arr[i]);
}
map.removeOverlay(marker);
}else{
map.removeOverlay(marker);
}
}
//創(chuàng)建右鍵菜單
var circleMenu=new BMap.ContextMenu();
circleMenu.addItem(new BMap.MenuItem('刪除',removecircle.bind(removecircle))); 
circle.addContextMenu(circleMenu);
var local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}}); 
//local.searchNearby('餐館',mPoint,1000);
function addMarker(point){
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
// 隨機(jī)向地圖添加25個(gè)標(biāo)注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 5; i ++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
</script>

功能:以某個(gè)區(qū)域批量刪除maker。

功能的設(shè)計(jì)思路:

1 右鍵菜單--》區(qū)域刪除機(jī)構(gòu)。

2 先畫圓(以鼠標(biāo)點(diǎn)擊的某個(gè)點(diǎn)為中心點(diǎn) 畫圓)。

3 得到圓中所選中的標(biāo)注(主鍵)。

4 圓上右鍵刪除

4 .1 確定 刪除圓,刪除標(biāo)注(連接數(shù)據(jù)庫數(shù)據(jù))。

4.2 取消 刪除圓。

主要功能代碼(js);

http://developer.baidu.com/map/reference/index.php?title=Class:%E8%A6%86%E7%9B%96%E7%89%A9%E7%B1%BB/Circle

{ text:'區(qū)域刪除機(jī)構(gòu)',
callback:function(e){
var mPoint=new BMap.Point(e.lng,e.lat);// 得到中心點(diǎn)坐標(biāo)
// 一句js畫圓 但是這個(gè)不可以重復(fù)畫圓 需要刷新頁面后才可以重新畫圓
/* var circle = new BMap.Circle(mPoint,1000,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3,enableEditing:true}); 
map.addOverlay(circle); */
var circle = new BMap.Circle(mPoint,5000);
circle.setFillColor("blue"); //填充顏色
circle.setStrokeWeight(1);// 設(shè)置圓形邊線的寬度,取值為大于等于1的整數(shù)。
circle.setFillOpacity(0.3);// 返回圓形的填充透明度。
circle.setStrokeOpacity(0.3);// 設(shè)置圓形的邊線透明度,取值范圍0 - 1。 
// 這樣畫圓 可編輯的圓 這兩句js代碼的位置不可改變
map.addOverlay(circle);// 把圓添加到地圖中
circle.enableEditing();// 設(shè)置可編輯的圓
var removecircle = function(e,ee,marker){
var deleteid=[];
var idd=[];
//取得地圖上所有的覆蓋物
var overlays = map.getOverlays();
//取得圓形區(qū)域
var bounds = marker.getBounds();
var maker_arr = [];
var maker_id =[];
for(var i=0;i<overlays.length;i++){
//判斷 覆蓋物為標(biāo)注的并且是在圓形區(qū)域內(nèi)部的
if(overlays[i].uQ == "Marker"){
//獲取標(biāo)注點(diǎn)到圓心的距離 與半徑做對比
if(map.getDistance(marker.getCenter(),overlays[i].getPosition()) < marker.getRadius()){
maker_arr.push(overlays[i]); 
maker_id.push(overlays[i].id);// 標(biāo)注主鍵值
}
}
} 
$.messager.confirm('確認(rèn)','你確定要?jiǎng)h除區(qū)域中選中的標(biāo)注嗎?',function(r){
if (r==true){
map.removeOverlay(circle)// 刪除圓
for(var i=0;i<maker_id.length;i++){ 
$.ajax({ 
type: 'delete',
url: '/yxt-admin/admin/hospital/' + maker_id[i] + '/delete',
success: function(data) {
if (data.stateCode == 200) { 
$.messager.show({
title: '提示消息',
msg: data.message,
timeout: 5000,
showType: 'slide'
});
}else if(data.stateCode==205){
$.messager.alert('提醒','登錄已超時(shí) 重新登錄','info',function(){
top.location.href="/yxt-admin/adminLogin.html";
}); 
} else {
$.messager.show({
title: '提示',
msg: data.message
});
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$.messager.show({
title: '提示',
msg: '系統(tǒng)錯(cuò)誤,請聯(lián)系開發(fā)人員.或刷新當(dāng)前頁面,重新操作。'
});
}
}); 
}
location.reload(); 
}else{
map.removeOverlay(circle)
}
})
}
var circleMenu=new BMap.ContextMenu();
circleMenu.addItem(new BMap.MenuItem('刪除',removecircle.bind(removecircle))); // 圓上右鍵刪除
circle.addContextMenu(circleMenu);// 添加右鍵菜單
}
},

以上所述是小編給大家介紹的JS代碼實(shí)現(xiàn)百度地圖 畫圓 刪除標(biāo)注,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JavaScript+HTML5 canvas實(shí)現(xiàn)放大鏡效果完整示例

    JavaScript+HTML5 canvas實(shí)現(xiàn)放大鏡效果完整示例

    這篇文章主要介紹了JavaScript+HTML5 canvas實(shí)現(xiàn)放大鏡效果,結(jié)合完整實(shí)例形式分析了javascript+HTML5 canvas針對圖片元素的獲取、響應(yīng)鼠標(biāo)事件變換元素屬性相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • js中this的用法實(shí)例分析

    js中this的用法實(shí)例分析

    這篇文章主要介紹了js中this的用法,實(shí)例分析了js中this的4種常見用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • uni-app低成本封裝一個(gè)取色器組件的簡單方法

    uni-app低成本封裝一個(gè)取色器組件的簡單方法

    最近想實(shí)現(xiàn)一個(gè)uniapp取色器組件,實(shí)現(xiàn)后發(fā)現(xiàn)效果還不錯(cuò),下面這篇文章主要給大家介紹了關(guān)于uni-app低成本封裝一個(gè)取色器組件的相關(guān)資料,文中通過圖文介紹的介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套

    微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • from表單多個(gè)按鈕提交用onclick跳轉(zhuǎn)不同action

    from表單多個(gè)按鈕提交用onclick跳轉(zhuǎn)不同action

    這篇文章主要介紹了from表單多個(gè)按鈕提交用onclick跳轉(zhuǎn)不同action,需要的朋友可以參考下
    2014-04-04
  • 拆開JavaScript迭代器模式內(nèi)部黑盒子

    拆開JavaScript迭代器模式內(nèi)部黑盒子

    這篇文章主要為大家介紹了JavaScript迭代器模式內(nèi)部黑盒子解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • js實(shí)現(xiàn)簡單的驗(yàn)證碼

    js實(shí)現(xiàn)簡單的驗(yàn)證碼

    這篇文章主要介紹了js實(shí)現(xiàn)簡單驗(yàn)證碼的方法,驗(yàn)證碼主要是為了網(wǎng)站的安全性,防止惡意注冊和登陸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • JavaScript confirm選擇判斷

    JavaScript confirm選擇判斷

    可以判斷confirm選擇了是否
    2008-10-10
  • 頁面中js執(zhí)行順序

    頁面中js執(zhí)行順序

    頁面中js的執(zhí)行順序:在頁面的head標(biāo)簽中添加一段js代碼,在頁面的尾部也就是</body>之前添加一段代碼,然后在body的onload事件中引用一個(gè)函數(shù),此三者的執(zhí)行順序如何?
    2009-11-11
  • 前端必備插件之純原生JS的瀑布流插件Macy.js

    前端必備插件之純原生JS的瀑布流插件Macy.js

    這篇文章主要介紹了前端必備插件之純原生JS的瀑布流插件Macy.js,一款非常輕量級的純原生JS的瀑布流插件,有興趣的可以了解一下
    2017-11-11

最新評論

东丰县| 平湖市| 高安市| 牙克石市| 吴旗县| 西和县| 长治市| 灯塔市| 常山县| 赤峰市| 安新县| 扬中市| 习水县| 崇礼县| 巴中市| 瑞金市| 台江县| 义乌市| 五莲县| 长沙市| 潼关县| 林芝县| 明溪县| 邹平县| 扎鲁特旗| 罗甸县| 河西区| 富宁县| 望城县| 德安县| 葫芦岛市| 双牌县| 娱乐| 赤水市| 静海县| 永春县| 宝兴县| 富源县| 庆云县| 芜湖县| 盐亭县|