中英文設定
map.setLang('en'); 英文
map.setLang('zh_en'); 中英文對照
map.setLang('zh_cn'); 中文
複製程式碼
移動與縮放事件
map.on('moveend', logMapinfo);
map.on('zoomend', logMapinfo);
複製程式碼
獲取地圖層級與中心點
var zoom = map.getZoom(); // 獲取當前地圖級別
var center = map.getCenter(); // 獲取當前地圖中心位置
複製程式碼
設定地圖層級與中心點
map.setCenter([lng, lat]); // 設定中心點
map.setZoom(zoom); // 設定地圖層級
map.setZoomAndCenter(zoom, [lng, lat]); // 設定地圖層級與中心點
複製程式碼
獲取當前行政區
// 獲取並展示當前城市資訊
function logMapinfo () {
/*
使用 map.getCity() 獲取地圖當前中心所在行政區
回撥函式的引數 info 物件擁有四個屬性
province, city, citycode 城市編碼, district 區
new PrettyJSON.view.Node() 接受一個引數物件渲染檢視:
el 指定渲染的元素,
data 指定渲染的資料
*/
map.getCity(function (info) {
var node = new PrettyJSON.view.Node({
el: document.querySelector('#map-city'),
data: info
});
console.log(info);
});
}
logMapinfo();
map.on('moveend', logMapinfo);
複製程式碼
設定地圖當前行政區
map.setCity(城市名)
function gotoCity() {
var val = document.querySelector('#city-name').value; // 可以是 cityname, adcode, citycode
if(!val) {
val = '北京市';
}
map.setCity(val);
log.info(`已跳轉至${val}`);
}
// 繫結查詢點選、回車事件
document.querySelector('#query').onclick = gotoCity;
複製程式碼
獲取並設定邊界座標
- 獲取
var bounds = map.getBounds();
document.querySelector('#ne').innerText = bounds.northeast.toString();
document.querySelector('#sw').innerText = bounds.southwest.toString();
複製程式碼
- 設定
// 通過 new AMap.Bounds(sourthWest:LngLat, northEast:lngLat)
// 或者 map.getBounds() 獲得地圖 Bounds 資訊
var mybounds = new AMap.Bounds([116.319665, 39.855919], [116.468324,39.9756]);
map.setBounds(mybounds);
複製程式碼
限制地圖顯示範圍
// 限制
map.setLimitBounds(bounds);
// 取消
map.clearLimitBounds(bounds);
複製程式碼
地圖的平移
// 平移
map.panBy(50, 100);
// 移動到中心點
map.panTo([116.405467, 39.907761]);
複製程式碼
地圖的互動
var mapOpts = {
showIndoorMap: false, // 是否在有向量地圖的時候自動展示室內地圖,PC預設true, 移動端預設 false
resizeEnable: true, // 是否監控地圖容器尺寸變化,預設值為 false
dragEnable: false, // 地圖是否可通過滑鼠拖拽平移,預設為 true
keyboardEnable: false, // 地圖是否可通過鍵盤控制,預設為 true
doubleClickZoom: false, // 地圖是否可通過滑鼠雙擊放大地圖,預設為 true
zoomEnable: false, // 地圖是否可縮放,預設值為 true
rotateEnable: false, // 地圖是否可旋轉,3D檢視預設為 true, 2D檢視預設 false
};
複製程式碼
// 通過map.setStatus 方法動態設定地圖狀態
map.setStatus({
dragEnable: true,
keyboardEnable: true,
doubleClickZoom: true,
zoomEnable: true,
rotateEnable: true
});
複製程式碼
獲取滑鼠點選經緯度
map.on('click', function (e) {
document.getElementById('lnglat').value = e.lnglat.getLng() + ',' + e.lnglat.getLat();
});
複製程式碼