maptalk第一模块(地图显示,平移旋转,常用控件,同步地图,添加工具栏,获取地图信息)
完整demo在底部,此部分为文字注释版本
<!DOCTYPE html> <html> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>地图 - 限制地图区域</title> <style type="text/css"> html,body{margin:0px;height:100%;width:100%} .container{width:100%;height:100%} </style> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/maptalks/dist/maptalks.css"> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/maptalks/dist/maptalks.min.js"></script> <body> <div id="map" class="container"></div>
<div id="map2" class="map2"></div>
<!-- <canvas id="map" class="map"></canvas> -->
<div class="text">
<p>mapCenter:{{mapCenter}}</p>
<p>zoom:{{zoom}}</p>
<p>minZoom:{{minZoom}}</p>
<p>maxZoom:{{maxZoom}}</p>
<p>extent:{{extent}}</p>
<p>bearing:{{bearing}}</p>
</div>
// 地图实例放在canvas里
<canvas width=600 height=300 id="map" style="border:1px solid">
<script>
var map = new maptalks.Map('map', {
center: [-0.113049,51.498568], // 地图中心坐标
zoom: 14, // 缩放比例
dragPitch : true, // 是否开始鼠标拖动偏移(左键)
dragRotate : true, // 是否开启鼠标拖动旋转(右键或者ctrl+左键)
zoomControl : true, // add zoom control // 添加缩放比例控件
seamlessZoom: true,// 细微缩放,官方说由此控制是否使用无缝缩放模式(并未搞清楚有何区别)
scaleControl : true, // add scale control // 比例尺控件
overviewControl : true, // add overview control // 缩略图控件
centerCross : true, // 地图中心显示红色十字符号
baseLayer: new maptalks.TileLayer('base', {
urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
subdomains: ['a','b','c','d'],
attribution: '© <a href="http://osm.org">OpenStreetMap</a> contributors, © <a href="https://carto.com/">CARTO</a>'
}),
layers : [
new maptalks.VectorLayer('v')
]
});
var extent = map.getExtent();// 获取地图范围
// set map's max extent to map's extent at zoom 14
map.setMaxExtent(extent); // 限制最大地图范围
map.setZoom(map.getZoom() - 2, { animation : false });// 更改缩放比例
map.getLayer('v')
.addGeometry( // 添加新的几何图形
new maptalks.Polygon(extent.toArray(), { 新的多边形
symbol : {