如何在頁面中生成動態的百度地圖

来源:http://www.cnblogs.com/jasmine-95/archive/2016/06/21/5604392.html
-Advertisement-
Play Games

在現在的很多頁面中,都運用到了百度地圖來定位,例如: 像這樣的地圖,我們可以通過手動來進行放大、縮小、移動等來查找具體的地址,特別方便,在頁面上引用也顯得頁面很有特點,那麼,應該怎麼樣來製作這種地圖呢? 一、獲取源代碼 網址:http://api.map.baidu.com/lbsapi/creat ...


  在現在的很多頁面中,都運用到了百度地圖來定位,例如:

  像這樣的地圖,我們可以通過手動來進行放大、縮小、移動等來查找具體的地址,特別方便,在頁面上引用也顯得頁面很有特點,那麼,應該怎麼樣來製作這種地圖呢?

一、獲取源代碼

      網址:http://api.map.baidu.com/lbsapi/createmap/index.html?qq-pf-to=pcqq.c2c

1.打開網址,就可以看到一個地圖編輯界面:

  

2.在頁面右側設置地點等信息:

1)設置地點

    

2)設置地圖上的基本信息

    

3)在地圖上添加標誌

    

    點擊標記圖標還可以選擇它的樣式:

 

 

4)獲取源代碼

    點擊頁面下麵的第二步中的獲取源代碼即可:

  ——————>

(註意:這裡生成的代碼是顯示不出來的,必須獲取密匙)

 

二、獲取密匙

1.點擊生成的代碼中的“獲取密匙”:,然後按照要求一步步填寫資料並提交,一定要註意必須進行認證。

2.將生成的Ak(即密匙)複製到代碼中,替換掉“您的密匙”

  

 

三、插入到自己的頁面中

按照自己的頁面要求將生成的代碼插入在頁面代碼中,但是一定要註意載入順序的問題:

  方法1:如果js代碼是放在頁面代碼裡面的,註意把生成地圖js代碼放在頁面最下邊。

  方法2:如果用的外部js鏈接,應該把地圖的js代碼放在 $(function(){...})裡面。

 

四、獨立地圖源碼

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3   <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具" />
 6     <meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操作下生成百度地圖" />
 7     <title>百度地圖API自定義地圖</title>
 8     <!--引用百度地圖API-->
 9     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4mkBt21xAMGLFNxFo652P5Lq"></script>
10   </head>
11   
12   <body>
13     <!--百度地圖容器-->
14     <div style="width:700px;height:550px;border:#ccc solid 1px;font-size:12px" id="map"></div>
15     <p style="color:red;font-weight:600">地圖生成工具基於百度地圖JS api v2.0版本開發,使用請申請密匙。
16       <a href="http://developer.baidu.com/map/index.php?title=jspopular/guide/introduction" style="color:#2f83c7" target="_blank">瞭解如何申請密匙</a>
17       <a href="http://lbsyun.baidu.com/apiconsole/key?application=key" style="color:#2f83c7" target="_blank">申請密匙</a>
18     </p>
19   </body>
20   <script type="text/javascript">
21     //創建和初始化地圖函數:
22     function initMap(){
23       createMap();//創建地圖
24       setMapEvent();//設置地圖事件
25       addMapControl();//向地圖添加控制項
26       addMapOverlay();//向地圖添加覆蓋物
27     }
28     function createMap(){ 
29       map = new BMap.Map("map"); 
30       map.centerAndZoom(new BMap.Point(121.515663,31.315091),18);
31     }
32     function setMapEvent(){
33       map.enableScrollWheelZoom();
34       map.enableKeyboard();
35       map.enableDragging();
36       map.enableDoubleClickZoom()
37     }
38     function addClickHandler(target,window){
39       target.addEventListener("click",function(){
40         target.openInfoWindow(window);
41       });
42     }
43     function addMapOverlay(){
44       var markers = [
45         {content:"公司地址:上海市政立路477號同和國際大廈A座501",title:"同和國際大廈",imageOffset: {width:-46,height:-21},position:{lat:31.314898,lng:121.514693}}
46       ];
47       for(var index = 0; index < markers.length; index++ ){
48         var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat);
49         var marker = new BMap.Marker(point,{icon:new BMap.Icon("http://api.map.baidu.com/lbsapi/createmap/images/icon.png",new BMap.Size(20,25),{
50           imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height)
51         })});
52         var label = new BMap.Label(markers[index].title,{offset: new BMap.Size(25,5)});
53         var opts = {
54           width: 200,
55           title: markers[index].title,
56           enableMessage: false
57         };
58         var infoWindow = new BMap.InfoWindow(markers[index].content,opts);
59         marker.setLabel(label);
60         addClickHandler(marker,infoWindow);
61         map.addOverlay(marker);
62       };
63     }
64     //向地圖添加控制項
65     function addMapControl(){
66       var scaleControl = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
67       scaleControl.setUnit(BMAP_UNIT_IMPERIAL);
68       map.addControl(scaleControl);
69       var navControl = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
70       map.addControl(navControl);
71       var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:false});
72       map.addControl(overviewControl);
73     }
74     var map;
75       initMap();
76   </script>
77 </html>
View Code

 


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

-Advertisement-
Play Games
更多相關文章
  • 最近項目中總是調來調去的介面,理解不深甚是糊塗,遂簡單整理一下也方便今後查用。 【字元串轉換為對象】 parse用於從一個字元串中解析出json對象,如 var str = '{"name":"demo","age":"22"}' 結果: JSON.parse(str) Object age: "2 ...
  • 一、在上下結構的div佈局中,可能出現div覆蓋div,但是內容卻沒有出現覆蓋的現象。看看一個示例 1: <!DOCTYPE html> 2: <html> 3: <head> 4: <title>DIV與DIV覆蓋</title> 5: <meta http-equiv="Content-Type ...
  • <script type="text/javascript"> function getRandom(n,m){ var n=Number(n); //強制轉換成數字 var m=Number(m); if(isNaN(n)||isNaN(m)){ //判斷是否為有效數字 ,其中一個不是有效數字就返 ...
  • 對於javascript程式員來說,發送ajax請求獲取後臺數據然後把數據和模板拼接成字元串渲染回DOM實現無刷新更新頁面這樣的操作可謂是輕車熟路。但眾所周知,ajax有一個不好,就是不能跨域傳輸數據,而跨域傳輸有時候又是必須用到的,比如我們可能需要調用第三方網站提供的某些API來獲取某些信息,提供 ...
  • 恢復內容開始 最近在上海上學的一個高中同學讓我幫忙,幫她做她們的電腦課程大作業。 由於關係不錯我也不好意思拒絕就幫忙做了,因為這個學期剛剛開始接觸HTML5和css,所以製作過程中有很多不懂的,而且由於HTML5是選修課,一星期只有一節,所以做這個花費了比較多的時間,這個網站是我製作的第一個網站, ...
  • 1.popup中添加圖表信息 2.echat以控制項形式添加在map中 3.以marker形式添加在map demo源碼地址:https://github.com/shitao1988/leaflet-echartmarker ...
  • CONTENT(目錄) 前言 Variable declearation:three rules you can break 1.Don't set var statement in a block 2.Don't set var statement in a loop 3.Set a variab ...
  • 前言: 1.HTML5的發展非常迅速,可以說已經是前端開發人員的標配,在電商類型的APP中更是運用廣泛,這個系列的文章是本人自己整理,儘量將開發中不常用到的剔除,將經常使用的拿出來,使需要的朋友能夠真正快速入門,如果有哪些不清楚的地方或者錯誤,歡迎聯繫我 2.更新時間沒有規律,一般會在3天左右更新一 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...