摘要:javascript
附近連鎖店地圖與全國連鎖店地圖,最大的區別就是:html
一、附近連鎖店地圖須要先定位,而後搜索附近的店鋪。java
二、全國連鎖店地圖,是先選擇城市,而後檢索某城市內的所有門店信息。web
本文就詳細講解了如何製做附近實體店的地圖,並調起高德地圖進行導航,調起打電話功能。windows
本文還詳細講解了如何設置支付寶服務、微信公衆號、微博官方帳號的地圖功能。api
------------------------------------------------------------------------瀏覽器
1、支付寶設置緩存
登陸支付寶服務窗:https://fuwu.alipay.com/platform/queryMenu.htm微信
自定義菜單 -> 主菜單 -> 有子級菜單微信公衆平臺
填寫子菜單名稱,設置爲跳轉網頁,而且放入網址。好比菜鳥物流:http://zhaoziang.com/amap/cainiao.html
最後點擊發布。
2、微信設置
登陸微信公衆平臺:https://mp.weixin.qq.com
功能->高級功能->編輯模式->自定義菜單-> 菜單管理->添加->設置動做
設置爲跳轉網頁,而且放入網址。好比菜鳥物流:http://zhaoziang.com/amap/cainiao.html
最後點保存。
3、微博設置
登陸微博:http://weibo.com/
管理中心->粉絲服務->高級功能->編輯模式->自定義菜單-> 菜單管理->添加->設置動做
設置爲跳轉網頁,而且放入網址。好比菜鳥物流:http://zhaoziang.com/amap/cainiao.html
最後點保存。
4、雲圖設置
登陸雲圖管理臺:http://yuntu.amap.com/datamanager/index.html
新建地圖
導入CSV數據。(支持UTF8和GBK 編碼,數據不超過10,000 條)
點擊預覽,便可看到本身的雲圖。
5、代碼與獲取網址
將如下代碼複製下來,替換key、tableID、圖標,而後生成本身的網址。
獲取key的地址:http://api.amap.com/key
獲取tableID的地址:
進入你的雲圖->獲取tableID
所有源代碼:
<!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" /><title>菜鳥物流全國站點</title><style>/** reset **/body,html,div,p,li,ul,ol,p,select,h3{padding:0;margin:0;}body,html{width:100%;height:100%;}img{border:none;}a{text-decoration:none;}a:hover{color:#FF7F27;}body{color:#333;font-family:"Microsoft YaHei";text-align:center;font-size:14px;}img:hover{filter:alpha(opacity=90);-moz-opacity:0.9;-khtml-opacity: 0.9;opacity: 0.9;}ul,li{list-style:none;}/** clearfix **/.clearfix{display:block;zoom:1;}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}/** weixin **/.header{width:100%;height:10%;background:#b3ffd7;float:left;}.header a{width:49%;height:100%;float:left;font-size:16px;line-height:3.5em;}#map,#list{height:90%;width:100%;}#list{text-align:left;}.item{border-bottom:1px dashed #ccc;padding:10px;}</style><script language="javascript" src="http://webapi.amap.com/maps?v=1.2&key=【您的key】"></script></head><body onLoad="mapInit()"> <div class="header clearfix"> <a id="iListBtn" onclick="display('list','iMapBtn');" href="javascript:void(0);">列表模式</a> <a id="iMapBtn" onclick="display('map','iListBtn');" href="javascript:void(0);">地圖模式</a> </div> <div id="map" class="clearfix"></div> <div id="list" style="display:none;">正在讀取數據……</div></body><script language="javascript">function display(id1,id2){ document.getElementById('map').style.display = 'none'; document.getElementById('list').style.display = 'none'; document.getElementById(id1).style.display = 'block'; document.getElementById(id2).style.display = 'block'; if (id1 === 'map' && mapObj) { mapObj.setFitView(); } }var mapObj;var cloudDataLayer;var cloudSearch;var cpoint;//初始化地圖對象,加載地圖function mapInit(){ mapObj = new AMap.Map("map"); mapObj.plugin('AMap.Geolocation', function () { geolocation = new AMap.Geolocation({ enableHighAccuracy: true,//是否使用高精度定位,默認:true timeout: 10000, //超過10秒後中止定位,默認:無窮大 maximumAge: 0, //定位結果緩存0毫秒,默認:0 convert: true, //自動偏移座標,偏移後的座標爲高德座標,默認:true showButton: true, //顯示定位按鈕,默認:true buttonPosition: 'LB', //定位按鈕停靠位置,默認:'LB',左下角 buttonOffset: new AMap.Pixel(10, 20),//定位按鈕與設置的停靠位置的偏移量,默認:Pixel(10, 20) showMarker: true, //定位成功後在定位到的位置顯示點標記,默認:true showCircle: false, //定位成功後用圓圈表示定位精度範圍,默認:true panToLocation: true, //定位成功後將定位到的位置做爲地圖中心點,默認:true zoomToAccuracy:true //定位成功後調整地圖視野範圍使定位位置及精度範圍視野內可見,默認:false }); mapObj.addControl(geolocation); geolocation.getCurrentPosition(); AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息-成功 AMap.event.addListener(geolocation, 'error', function(){ alert('喲,定位失敗啦!'); }); //返回定位信息-失敗 }); }function onComplete(data) { var lngX = data.position.getLng(); var latY = data.position.getLat(); cpoint = new AMap.LngLat(lngX,latY); //cpoint = new AMap.LngLat(116.38298,39.955543); myCloudList(); }//雲圖加載列表function myCloudList(){ //列表 var search; var searchOptions = { pageSize:20 }; mapObj.plugin(["AMap.CloudDataSearch"], function() { cloudSearch = new AMap.CloudDataSearch('【您的tableID】', searchOptions); //構造雲數據檢索類 AMap.event.addListener(cloudSearch, "complete", cloudSearch_CallBack); //查詢成功時的回調函數 AMap.event.addListener(cloudSearch, "error", errorInfo); //查詢失敗時的回調函數 cloudSearch.searchNearBy(cpoint, 10000); //周邊檢索 }); }var markers = new Array(); var windowsArr = new Array();//添加marker和infowindow function addmarker(i, d){ var lngX = d._location.getLng(); var latY = d._location.getLat(); var IconOptions = { image : "cainiao.png", //您的小圖標33*33 size : new AMap.Size(33,33), imageSize : new AMap.Size(33,33), imageOffset : new AMap.Pixel(-16,0) }; var myIcon = new AMap.Icon(IconOptions); var markerOption = { map:mapObj, icon: myIcon, offset: new AMap.Pixel(-15,-30), position:new AMap.LngLat(lngX, latY) }; var mar = new AMap.Marker(markerOption); markers.push(new AMap.LngLat(lngX, latY)); var infoWindow = new AMap.InfoWindow({ content: "<h3>" + d._name + "</h3>" + "<img style=\"width:280px;height:180px;overflow:hidden;\" src='cainiao2.png' /><p>地址:" + d._address + "</p>" + "<p>電話:<a href=\"tel:" + d.telephone + "\">" + d.telephone + "</a></p><p style=\"text-align:right\"><a href='http://mo.amap.com/?q=" + d._location.getLat() + "," + d._location.getLng() + "&name=" + d._name + "'>到這兒去</a></p>", size:new AMap.Size(280, 0), autoMove:true, offset:new AMap.Pixel(0,-30), closeWhenClickMap: true }); windowsArr.push(infoWindow); var aa = function(){infoWindow.open(mapObj, mar.getPosition());}; AMap.event.addListener(mar, "click", aa); }//回調函數-成功function cloudSearch_CallBack(data) { clearMap(); var resultStr=""; var resultArr = data.datas; var resultNum = resultArr.length; for (var i = 0; i < resultNum; i++) { resultStr += "<div class=\"item\">"; resultStr += "<h3>" + (i+1) + "、" + resultArr[i]._name + "</h3>"; resultStr += "<p>地址:" + resultArr[i]._address + "</p>"; resultStr += "<p>電話:<a href=\"tel:" + resultArr[i].telephone + "\">" + resultArr[i].telephone + "</a></p>"; resultStr += "<p>地圖:<a href='http://mo.amap.com/?q=" + resultArr[i]._location.getLat() + "," + resultArr[i]._location.getLng() + "&name=" + resultArr[i]._name + "'>到這裏去</a></p>"; resultStr += "</div>"; addmarker(i, resultArr[i]); //添加大標註 } if (document.getElementById('map').style.display !== 'none') { mapObj.setFitView(); } document.getElementById("list").innerHTML = resultStr; }//回調函數-失敗function errorInfo(data) { resultStr = data.info; document.getElementById("list").innerHTML = resultStr; }//清空地圖function clearMap(){ mapObj.clearMap(); document.getElementById("list").innerHTML = '正在讀取數據……'; }</script></html>
demo網址(請用手機瀏覽器查看):http://zhaoziang.com/amap/cainiao.html
效果圖:
6、其餘雲圖教程
【支付寶中的全國家樂福地圖】http://www.cnblogs.com/milkmap/p/3786144.html
【微信中的全國AMF海水農場地圖】http://www.cnblogs.com/milkmap/p/3780417.html
【官網中的全國AMF海水農場地圖】http://www.cnblogs.com/milkmap/p/3778398.html
【應用中webview形式的全國KTV地圖】http://www.cnblogs.com/milkmap/p/3765925.html
【三甲醫院】http://www.cnblogs.com/milkmap/p/3637899.html
【東莞地圖】http://www.cnblogs.com/milkmap/p/3657829.html
【貪官落馬圖】http://www.cnblogs.com/milkmap/p/3678377.html
7、從零開始學高德JS API系列教程
【地圖展示】http://www.cnblogs.com/milkmap/p/3687855.html
【控件】http://www.cnblogs.com/milkmap/p/3707711.html
【覆蓋物】http://www.cnblogs.com/milkmap/p/3727842.html
【搜索服務】http://www.cnblogs.com/milkmap/p/3745701.html