網頁百度地圖api,支持位置偏移

来源:https://www.cnblogs.com/ovsexia/archive/2019/06/25/11083951.html
-Advertisement-
Play Games

網頁百度地圖api,支持位置偏移 需載入 jq ...


網頁百度地圖api,支持位置偏移

需載入 jq

<style type="text/css">
#allmap {width:100%; height:100%; border:#ccc solid 1px; box-sizing:border-box; position:relative; z-index:1;}
.mapbox {width:100%; height:420px; margin-top:15px; position:relative;}
.mapbox.on {height:100%; margin-top:0; position:fixed; top:0; left:0; z-index:1000;}
.mapbox .zw {width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; display:none;}
.anchorBL, .BMap_cpyCtrl {display:none;}
.BMap_pop {transform:translateY(-15px);}
.mapbigest {width:26px; height:26px; position:absolute; top:10px; right:10px; z-index:10; cursor:pointer; background-size:100% 100%; background-repeat:no-repeat; background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAhFBMVEUAAABJSUlKSkpJSUlBQUFDQ0NJSUlJSUlLS0tJSUlFRUVJSUlKSkpKSkpJSUlJSUlJSUlJSUlHR0dISEhJSUlKSkpJSUlLS0tKSkpJSUlJSUlISEhJSUlKSkpISEhJSUlJSUlISEhERERJSUlISEhJSUlJSUlISEhJSUlJSUlHR0dKSkrAS+lAAAAAK3RSTlMAwIBjCAT77BHMDfLjxT3n1qVLNL+0RSIc+GZR9LpYit13F5JuXjAnrpwrMVj51gAAAsxJREFUaN7t2tuSojAQgOEeTARFwRMIKiDo6Dj9/u+3U+xGxA7ZkFC7N/yXXvCVZVGSbgA+3dPiQ1LmMOhRFfko7VQCTLCzGdc32Bk7K+CE3R30kSN2lwIqKvSRAypSIht95NsQSQvoUamHhIXz2sGDXm1L57VHKkVw5cFg3XwkyNDK1keCUMXeoIg/qBKIyy1aSLkQSjWAIW7w2bWFTPZCOVfDGfNJG4FGSSyN9GnAOwKJUBZWSvxiUASS8wBKPG0MGQLVSij7IQw5Ap6tsmkZFKGKvUGRthIaKMc3gyJCmQnlbmws56BGYC4Ut6eSPw0GCsRKyZEaFGmUpVC+bQw1Aqy/8tkyCBJKHhnYTig3KwM29YchXOqLeSBXfC3l0GHA3MWfLsCiHyOAt1gmlG0PY8fIX2SIGDEASG4cSFxfuVKjid8S6I5HRNH+HvrxL3Hve6BonxLDSDmCotzMaJS1xiNx0BiG1Uo4B0W8vnMzBuY5iO4WlHlrHy8cbPK2HMbGxsbGxsbGxsbG/l9864FV+cpfe6AsdhEdG8NpdjXqM+Pa3CiwLtA4YK8tDczVKw0r5YK/m+5B0T0VCrcw8KA5sPtSKPKxBzyIYaTcgwSgHuAstiYGHaJGRJlM6wHORXpUXxPDSEnqH+zyZ6gWmxhNcaNIto+uGA/Kjc/ea4CMg3oGSQ2DpUnGdBBOjH7Kjv0d4V/E0FR8ohCEGLnxSm7J1AiPiGGuUKRtTHMw6OYKZd6N8EwYRzDq21UuaYhhrcgRRgyD7o0iQ9iOGEZKKBSPIo2xAav2Qll57whbEsNYWTyVNnIlxiDKtYWchRHDACVCCVvIkIbY8DYBMQapOnchaWPYKys5Mn04r5UB9CoondcKlyDSHn2Mxz94zWeDpkihjxRKxMfurvrIFbsLIcfOXE8f8VzsLAAIzqfT7IMWlRX0qHKyD0mLkxvDLyOFWNKlbrTlAAAAAElFTkSuQmCC');}
@media (max-width: 640px) {
    .BMap_scaleCtrl {display:none;}
    .mapbox .zw {display:block;}
}
</style>

<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=【你的密匙】"></script>

<div class="mapbox"><div class="mapbigest"></div><div class="zw"></div><div id="allmap"></div></div>
<script type="text/javascript">
//手機版點擊才可拖動
$(document).on("click",".mapbox",function(){
    $(this).find(".zw").hide();
});

//地圖最大化
$(document).on("click",".mapbigest",function(){
    $(this).parent(".mapbox").toggleClass("on");
    baidu_map();
});

//鍵盤Esc退出全屏
var isPiss = 0;
document.onkeydown = function(event) {
    var e = event || window.event || arguments.callee.caller.arguments[0];
    if(e.keyCode == 27){
        if($(".mapbox").hasClass("on")){
            $(".mapbox").removeClass("on");
            baidu_map();
        }
    }
};

function pix(p)
{
    p = p/100000;
    return p;
}

function poi_move(x,y,type)
{
    //x: +往右偏移 -往偏左移
    //y: +往上偏移 -往偏下移
    arr = type.split(",");
    xarr = xpoi = new Array();
    if(type){
        if(arr){
            for(i=0;i<arr.length;i++)
            {
                xarr.push(arr[i].split(":"));
            }
        }
        if(xarr){
            for(i=0;i<xarr.length;i++)
            {
                if(xarr[i][0]=="left"){
                    x = x+pix(xarr[i][1]);
                }else if(xarr[i][0]=="right"){
                    x = x-pix(xarr[i][1]);
                }else if(xarr[i][0]=="top"){
                    y = y-pix(xarr[i][1]);
                }else if(xarr[i][0]=="bottom"){
                    y = y+pix(xarr[i][1]);
                }
                console.log(xarr[i])
            }
        }
    }
    xpoi["x"] = x;
    xpoi["y"] = y;
    return xpoi;
}

function baidu_map()
{
    //公司名稱
    var my_company = '廣州國倫科技有限公司';
    //公司地址
    var my_address = '地址:廣州市番禺區鐘村街漢興三街6號3棟921';
    //坐標
    var my_poix = 113.3404460125;
    var my_poiy = 22.9967992377;
    //地圖位置偏移
    var move_type = "left:15,top:15"; // 往左偏移15像素,往上偏移15像素
    
    poi_arr = poi_move(my_poix,my_poiy,move_type);
    my_poix_p = poi_arr["x"];
    my_poiy_p = poi_arr["y"];
    
    // 百度地圖API功能
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(my_poix,my_poiy)
    var point_p = new BMap.Point(my_poix_p,my_poiy_p);
    var myIcon = new BMap.Icon("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAhCAMAAAAMPGBYAAAA3lBMVEUAAAArAAMrAAM+fOBHh/AuacQvasUrAANGhu5JifNJifNHiPEtZ8E/feIwa8Y3dNNFhOs+fN9Bf+RKivQ0cM4pY7smX7Y9et04ddVCgecxbMksZr8mU58uacQ1ctAoYblKivRDgukoPHUybssqZL06dthKivQlXLE7edo7edpEmP42kfc/lvtJmv8wkPQqjPE8lPlBlvw5k/gtjvIki+5JkfggiO1Lmv9FjfQpfd4gg+VLl/1Dkvc8j/Q0jvI7iOsxhuk4hegugOE0f+A6fd8xeNckdNIobsolZr8gddO/82ARAAAAKnRSTlMAMigGgiwnGBT3w73+/f349vPp5d7d3NDAvr2wqKeBfnV0aVBEOBr0k5GheLO3AAAA90lEQVQoz13Q1XqDQBRF4Q0BgsTdPalBS2UGiXv6/i8UggSG/3J959xs+BYjtapU1dECkYygkKVlWUuiCBn4ZI1YRsAimuxfacSIEfVxKdhGki0AcumdVZIxtlPNHqO9SrVVGxX9m6VXkNfT8iibqWSW0VybrHUTb9sf1vYV89MH6zQHWnsm7VsApOImkTZFCZ7B8TN2HATz1XbPtKuFA07Pv5HzFKHO4Stw6CAiFsJWEPHUd/zk9BETc38POREJXcdLThdJsyul9DoDo+5Stw7W8EIvQ7CkG71JSGm4DbCyfO+/x2eRwHPc5GXCcTzTAjz765Xo9w5VVEDyLqlpqQAAAABJRU5ErkJggg==", new BMap.Size(19,33)); //自定義圖標
    var marker = new BMap.Marker(point,{icon:myIcon});
    map.addOverlay(marker);                      // 將標註添加到地圖中
    //marker.setAnimation(BMAP_ANIMATION_BOUNCE);  // 跳動的動畫
    map.centerAndZoom(point_p, 18);
    var opts = {
      width : 200,     // 信息視窗寬度
      height: 60,     // 信息視窗高度
      //title : "" , // 信息視窗標題
      //enableMessage:true,//設置允許信息窗發送短息
      //message:""
    }
    var infoWindow = new BMap.InfoWindow('<strong style="color:#d55522;font-size:14px;padding-bottom:10px;">'+my_company+'</strong><p>'+my_address+'</p>', opts);  // 創建信息視窗對象 
    
    var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角,添加比例尺
    var top_left_navigation = new BMap.NavigationControl();  //左上角,添加預設縮放平移控制項
    
    map.addControl(top_left_control);
    map.addControl(top_left_navigation);
    
    map.openInfoWindow(infoWindow,point); //開啟信息視窗
    marker.addEventListener("click", function(){          
        map.openInfoWindow(infoWindow,point); //開啟信息視窗
    });
}
baidu_map();
</script>

 


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

-Advertisement-
Play Games
更多相關文章
  • 什麼時候需要安裝 如果使用 protoc 命令,遇到 Protoc not found ,表示未安裝。或者,執行時出現錯誤: This parser only recognizes "proto2" ,則表示不是3.0版。 安裝過程及可能遇到的問題 安裝指令 詳細介紹請參考此文: "protobuf ...
  • 前言 最近一段時間都在做小程式。 雖然是第二次開發小程式,但是上次做小程式已經是一年前的事了,所以最終還是被坑得死去活來。 這次是從零開始開發一個小程式,其實除了一些莫名其妙的相容性問題,大多數坑點都是在微信小程式的各個入口場景處。 所以這裡整理一下微信小程式的各個入口場景,以及從這些入口場景進入小 ...
  • 背景 起因是產品的需求,需要更換Electron為底層平臺,但因為會有不少定製化的功能要實現,必須自己實現此類內容,所以也就導致必須自己編譯Electron的源代碼。 整個構建過程,看Electron的構建文檔就行了:https://github.com/electron/i18n/blob/mas ...
  • em與rem之間的區別: 共同點: 不同點: 實例: rem適配方案: 核心原理:寬度和高度都能做到適配(等比縮放) 通過控制 html 元素上的字體大小去控制頁面上所有以rem為單位的基準值,控制尺寸 核心換算公式:當前rem基準值 = 預設基準值 / 設計稿寬度 * 當前設備的寬度 技術:媒體查 ...
  • 1. uni app採坑記錄 1.1. 前言 1. 這裡記錄下uni app實踐中踩的坑 1.2. 坑點 1.2.1. 觸發事件 和`@longpress` 這兩個都表示長按觸發事件,那麼這兩個有啥區別呢? 經過實踐,發現在微信和h5端只有longpress起效果,在支付寶小程式端只有longTap ...
  • fetch 一個獲取資源的介面,類似於 "ajax" 是基於 之上設計,舊版本IE 完全不支持,須藉助 "polyfill" 來相容 提供了對 Request 和 Response (以及其他與網路請求有關的)對象的通用定義 發送請求或者獲取資源,需要使用 window.fetch or Windo ...
  • 一、進行連接遠程: 1、命令視窗 —> 輸入 ssh 用戶名@主機IP —> 回車 2、輸入密碼 (輸入後回車) 3、進入根目錄 (命令:cd / ) 二、Linux環境安裝node: Tip: /usr/bin中裝的是系統預裝的可執行程式 /usr/local/bin中是用戶放置自己的可執行程式的 ...
  • 縱觀ECharts圖表實例化的API,主要有一下幾個相關的實例化方法: 1、setOption(Object option,{boolean = true} notMerge) 參數: 1)、Object類型的參數 option,表示圖表數據結構 ,形如: 1.var option = { 2. t ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...