高德地圖JSAPI學習(一)
一、地圖樣式設定
1. 首先,,成為高德開放平臺開發者
2. 登陸之後,在進入「應用管理」 頁面「建立新應用」
3. 為應用,「服務平臺」一項請選擇「 Web 端 ( JSAPI ) 」
準備頁面
1. 在頁面新增 JS API 的入口指令碼標籤,並將其中「您申請的key值」替換為您剛剛申請的 key;
<script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="您申請的key值"></script>
2. 新增div
標籤作為地圖容器,同時為該div
指定id
屬性;
<div id="container"></div>
3. 為地圖容器指定高度、寬度;
#container {width:300px; height: 180px; }
4. 進行移動端開發時,請在head
內新增viewport
設定,以達到最佳的繪製效能;
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
詳細看
建立一個地圖只需要一行程式碼,構造引數中的
container
為準備階段新增的地圖容器的id;建立的同時可以給地圖設定中心點、級別、顯示模式、自定義樣式等屬性:
var map = new AMap.Map('container', {
zoom:11,//級別
center: [116.397428, 39.90923],//中心點座標
viewMode:'3D'//使用3D檢視
});
(二)設定地圖樣式的方式有兩種:
1、在地圖初始化時新增
var map = new AMap.Map('container',{
mapStyle: 'amap://styles/whitesmoke', //設定地圖的顯示樣式
});
2、地圖建立之後使用Map物件的setMapStyle方法來修改
var map = new AMap.Map(
'container',{
zoom: 10, //設定地圖的縮放級別}); map.setMapStyle('amap://styles/whitesmoke'
);
補充:在初始化引數中設定 如下引數,可禁止拖動和縮放地圖
zoomEnable:false, dragEnable: false,
二、marker標記新增
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="../css/common.css" />
<style>
html,body{ height:100%; margin:0; }
#container{ width:100%; height:100%; position:absolute; left:0; right:0; }
.map-container{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; }
.video-wrap{ width:60%; height:50%; position:relative; transition:all 1s; }
.video-close{ position:absolute; right:20px; top:10px; cursor:pointer; padding:10px; border-radius:20px; z-index:10; }
.btn{ width:100px; padding:10px 0; box-sizing:border-box; text-align:center; background-color:#0079d1; border-radius:5px; color:#fff; cursor:pointer; margin-top:20px; font-size:18px; position:absolute; left:20px; top:20px; z-index:1; }
.bg_marker{ width:49px; height:70px; background:url(../img/poi-marker-1.png) 0 0 no-repeat; text-align:center; padding:10px 0 0; font-size:24px; }
</style>
</head>
<body>
<div id="container">
<div class="btn" id="back">返回</div>
</div>
<div class="map-container">
<div class="video-wrap" id="videoBox" style="display:none;">
<div class="video-close" id="closed">X</div>
<video class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../img/source/banner.mpeg" width="100%" controls="controls">
您的瀏覽器不支援 video 標籤。
</video>
</div>
</div>
<script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="7ae17eb6ba804a59a7ee5f7c4fc5930e"></script>
<script>
var map = new AMap.Map('container', {
resizeEnable: true,
center: [119.487758, 25.935319],
zoom: 18,
zoomEnable:false,
dragEnable: false,
});
map.setMapStyle('965c1194c86a1687c9ab01bb6ae37b4f');
map.clearMap(); // 清除地圖覆蓋物
var markers = [{
position: [119.489126, 25.934101],
content: '<div class="bg_marker">1</div>',
}, {
position: [119.487769, 25.93576],
content: '<div class="bg_marker">2</div>',
}, {
position: [119.486412, 25.936441],
content: '<div class="bg_marker">3</div>',
},{
position: [119.488461, 25.93647],
content: '<div class="bg_marker">4</div>',
},{
position: [119.489491, 25.93727],
content: '<div class="bg_marker">5</div>',
},{
position: [119.484502, 25.934255],
content: '<div class="bg_marker">6</div>',
},{
position: [119.485199, 25.937241],
content: '<div class="bg_marker">7</div>',
},
];
// 新增一些分佈不均的點到地圖上,地圖上新增三個點標記,作為參照
markers.forEach(function(marker) {
marker = new AMap.Marker({
map: map,
// icon: marker.icon,
content:marker.content,
position: [marker.position[0], marker.position[1]],
offset: new AMap.Pixel(-13, -30)
});
marker.on('click',function(e){
// console.log(e)
document.querySelector("#videoBox").style.display = "block";
})
});
map.on('click', function(e) {
console.log(e.lnglat.getLng() + ',' + e.lnglat.getLat())
});
</script>
<script>
let closeBtn = document.querySelector("#closed");
closeBtn.onclick = function(){
console.log(this)
this.parentNode.style.display = "none";
}
let backBtn = document.querySelector("#back");
backBtn.onclick = function(){
window.history.back(-1);
}
</script>
</body>
</html>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2825635/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高德地圖app怎麼使用北斗地圖? 高德地圖設定北斗地圖的教程地圖APP
- 高德地圖首席科學家任小楓:視覺智慧在高德地圖的應用地圖視覺
- 高德地圖和google地圖適配地圖Go
- 高德地圖之地圖的屬性地圖
- 高德地圖開發彙總地圖
- 高德地圖之地圖的生命週期地圖
- Android高德地圖貼合圖片完成手繪地圖展示Android地圖
- 機器學習在高德地圖軌跡分類的探索和應用機器學習地圖
- uniapp 高德地圖 sha 生成方法APP地圖
- 高德地圖的四處進擊地圖
- java接入高德地圖常用WEB APIJava地圖WebAPI
- Flutter整合高德定位和地圖功能Flutter地圖
- Android專案匯入高德地圖Android地圖
- 提-關於高德地圖熱力圖-問:地圖
- 高德地圖未來行程規劃在哪裡? 高德地圖預設出行時間的技巧教程地圖行程
- 一個高效能的 Vue 高德地圖元件庫Vue地圖元件
- 阿里巴巴高德地圖首席科學家任小楓:高精演算法推動高精地圖落地阿里地圖演算法
- 高德地圖-地理圍欄功能實現地圖
- react頁面喚起高德地圖appReact地圖APP
- react中使用高德地圖的原生APIReact地圖API
- 高德地圖上展示終端資訊地圖
- 對接高德地圖API的總結地圖API
- 高德地圖:2022年五一假期出行提示地圖
- 高德地圖靠什麼生存下來?地圖
- 來一手Flutter Web =-= 實現高德地圖外掛FlutterWeb地圖
- 高德“成本價”:高精地圖的一次行業現實折射地圖行業
- 高德地圖導航和路徑規劃地圖
- vue中使用高德地圖自定義開發Vue地圖
- javaweb使用高德地圖進行網頁定位JavaWeb地圖網頁
- 地圖資料採集,包括百度地圖採集,高德地圖採集,360地圖採集地圖
- 三年磨一劍,高德地圖體驗優化總結地圖優化
- vue 高德地圖 三維切換為二維Vue地圖
- Qt/C++地圖高階繪圖/指定唯一標識新增刪除修改/動態顯示和隱藏/支援天地圖高德地圖百度地圖QTC++地圖繪圖
- 從頭開發一個Flutter外掛(二)高德地圖定位外掛Flutter地圖
- 如何給Flutter寫一個高德地圖定位外掛 | 掘金技術徵文Flutter地圖
- 微信小程式之:小程式接入高德地圖SDK微信小程式地圖
- [MAUI]整合高德地圖元件至.NET MAUI Blazor專案UI地圖元件Blazor
- ArchSummit分享 | 高德地圖App架構演化與實踐MIT地圖APP架構