在MapTalks地图中,可以通过设置Canvas容器的样式和尺寸来加载地图。以下是一个简单的示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>MapTalks 地图在 Canvas 容器中加载</title> <style> #mapContainer { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } </style> <script src="https://api.maptalks.com/v2/jsapi.min.js"></script> <script> function init() { var map = new maptalks.Map("mapContainer", { center: [116.397428, 39.90923], // 设置地图中心点坐标 zoom: 10, // 设置地图初始缩放级别 layers: [ new maptalks.layer.Tiled({ url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" }) ] }); } </script> </head> <body onload="init()"> <div id="mapContainer"></div> </body> </html>
在这个示例中,我们创建了一个名为`mapContainer`的`div`元素作为Canvas容器,并设置了其宽度、高度和位置。然后,我们在`<script>`标签中编写了初始化地图的代码,将地图的中心点坐标设置为北京市的经纬度,初始缩放级别设置为10,并添加了一个OpenStreetMap图层。最后,在`<body>`标签的`onload`事件中调用了`init()`函数,确保在页面加载完成后初始化地图。
<!DOCTYPE html> <html> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>地图 - 在Canvas容器中加载</title> <style type="text/css"> html,body{margin:0px;height:100%;width:100%} </style> <link rel="stylesheet" href="https://unpkg.com/maptalks/dist/maptalks.css"> <script type="text/javascript" src="https://unpkg.com/maptalks/dist/maptalks.min.js"></script> <body> <canvas width=600 height=300 id="map" style="border:1px solid"></canvas> <script> var res = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1; if (res) { // retina, see https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio var canvas = document.getElementById('map'); var r = 2; canvas.width *= r; canvas.height *= r; canvas.style.cssText += 'width:' + Math.round(canvas.width / r) + 'px;height:' + Math.round(canvas.height / r) + 'px'; } var map = new maptalks.Map('map', { center: [-0.113049,51.498568], zoom: 14, zoomControl : true, // ignored in a canvas container scaleControl : true, // ignored in a canvas container 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>' }) }); </script> </body> </html>
此处为隐藏内容,请评论后查看隐藏内容,谢谢!
发表评论