右鍵菜單

来源:https://www.cnblogs.com/nelsonlei/archive/2020/05/07/12844517.html
-Advertisement-
Play Games

右鍵菜單 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale= ...


右鍵菜單

<!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, #allmap {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: "微軟雅黑";
            font-size: 14px;
        }
    </style>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=31hnqKEhOUOWFXXxvWYXiM1v"></script>
    <!--載入滑鼠繪製工具-->
    <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
    <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
    <title></title>
</head>
<body>
    <div id="allmap">
    </div>
</body>
</html>

 

 

<script type="text/javascript">
    // 百度地圖初始化
    var map = new BMap.Map("allmap");
    map.centerAndZoom("上海市", 12);
    map.enableScrollWheelZoom();
    map.enableContinuousZoom();

    var bmap = {
        drawingManager: '',
        styleOptions: {
            strokeColor: "red",      //邊線顏色。  
            fillColor: "red",        //填充顏色。當參數為空時,圓形將沒有填充效果。  
            strokeWeight: 3,        //邊線的寬度,以像素為單位。  
            strokeOpacity: 0.8,     //邊線透明度,取值範圍0 - 1。  
            fillOpacity: 0.3,       //填充的透明度,取值範圍0 - 1。  
            strokeStyle: 'solid'    //邊線的樣式,solid或dashed。  
        },

        /*------實例化-----*/
        init: function () {
            var styleOptions = this.styleOptions;
            map.enableScrollWheelZoom();
            //實例化滑鼠繪製工具  
            this.drawingManager = new BMapLib.DrawingManager(map, {
                isOpen: false, //是否開啟繪製模式  
                enableDrawingTool: true, //是否顯示工具欄  
                drawingToolOptions: {
                    anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                    offset: new BMap.Size(5, 5), //偏離值
                    scale: 0.8, //工具欄縮放比例
                    drawingModes: [
                     //工具欄上可以選擇出現的繪製模式
                     BMAP_DRAWING_MARKER,
                     BMAP_DRAWING_POLYGON,
                     BMAP_DRAWING_POLYLINE
                     //BMAP_DRAWING_RECTANGLE
                     //BMAP_DRAWING_CIRCLE   
                    ]
                },
                polylineOptions: styleOptions, //線的樣式  
                polygonOptions: styleOptions, //多邊形的樣式  
            });
            //添加滑鼠繪製工具監聽事件,用於獲取繪製結果  
            this.drawingManager.addEventListener('overlaycomplete', bmap.overlaycomplete);
        },
        overlaycomplete: function (e) {
            switch (e.drawingMode) {
                case "marker":
                    {
                        var marker = e.overlay;
                        /*-----------------標註右鍵刪除-------------------------*/
                        var markerMenu = new BMap.ContextMenu();
                        markerMenu.addItem(new BMap.MenuItem('刪除標註 ', function () {
                            map.removeOverlay(marker);
                        }))
                        marker.addContextMenu(markerMenu);
                        /*-----------------標註點擊彈窗-------------------------*/
                        marker.addEventListener("click", function (e) {
                        var sContent =
                        "<form method='post' action=''>" +
                            "<table>" +
                                "<tr>" +
                                    "<td><b>名稱:</b>" +
                                        "<input type='text' name='Name' style='margin-top:10px;width:200px'/>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td><b>坐標:</b>" +
                                        "<input type='text' name='lng' value='" + e.point.lng + "' style='width:80px;'/>" +
                                        "<span>-</span>" +
                                        "<input type='text' name='lat' value='" + e.point.lat + "' style='width:80px;'/>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr >" +
                                    "<td><b>備註:</b>" +
                                        "<textarea  rows=6  name='Remark' style='width:198px;vertical-align:top;'></textarea>" +
                                    "</td>" +
                                "</tr>" +
                                "<tr>" +
                                    "<td style='text-align:right;'>" +
                                        "<input type='button' value='保存' style='width: 40px;line-height: 40px;'/>" +
                                    "</td>" +
                                "</tr>" +
                            "</talbe>" +
                        "</form>";
                            var opts = {
                                enableMessage: false
                            };
                            var infoWindow = new BMap.InfoWindow(sContent, opts);
                            this.openInfoWindow(infoWindow);
                        });
                    }
                    break;
                case "polyline":
                    {
                        var polyline = e.overlay;
                        /*-----------------折線右鍵刪除-------------------------*/
                        var polylineMenu = new BMap.ContextMenu();
                        polylineMenu.addItem(new BMap.MenuItem('刪除折線', function () {
                            map.removeOverlay(polyline);
                        }));
                        polyline.addContextMenu(polylineMenu);
                    }
                    break;
                case "polygon":
                    {
                        var polygon = e.overlay;
                        /*-----------------多邊形右鍵刪除-------------------------*/
                        var polygonMenu = new BMap.ContextMenu();
                        polygonMenu.addItem(new BMap.MenuItem('刪除多邊形', function () {
                            map.removeOverlay(polygon);
                        }));
                        polygon.addContextMenu(polygonMenu);
                    }
                    break;
            }
        }
    }
    bmap.init();
</script>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用if條件判斷,來實現div標簽的顯示和隱藏效果的切換。 代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ...
  • function ArrayIndexOf(arr,value){ // 檢測value在arr中出現的位置 for(var i=0;i<arr.length;i++){ if(arr[i] value){ return i; } } return -1; } var test=ArrayIndex ...
  • // 編寫函數,判斷一個字元串是否是 “可迴文字元串”,如:abccba // 是:true // 不是:false function fn(str){ var center = parseInt(str.length/2); // 4.5 // 4 // 0~4 // 4~length-1 for ...
  • var str = "aabbccehgfhaasdhgfashdfhabcasd"; // 使結果顯示為一個對象,如:{a:2, b:1, c:2, d:1} var obj = {}; // console.log(obj[ "a" ]) // undefined // obj[ "a" ] = ...
  • Vue 動態表格+插入自定義表頭 <!-- 表格 --> <el-table :data="templateData" style="width: 100%;" stripe ref="templateTable" :empty-text="$t('basic.noData')" @filter-c ...
  • Vue 鉤子函數 Vue.component('Test', { props: { name: String }, template: `<div class="test">{{ name }}</div>`, beforeCreate() { console.log('Test beforeCre ...
  • 結束axios的請求 import axios from 'axios' let axiosSource = axios.CancelToken.source()// 發送請求 axios.get(url, { cancelToken: axiosSource.token }) axios.post ...
  • 弧線.note 可查看我的有道雲筆記: 文檔:弧線.note鏈接:http://note.youdao.com/noteshare?id=a84aa1c81e9c6e4db547ff908aae2500&sub=44C743397725419886FF4A6902C222BC ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...