【发布时间】:2021-10-22 15:53:26
【问题描述】:
我正在尝试使用示例https://developer.here.com/documentation/examples/maps-js/markers/zoom-to-set-of-markers 尝试在此处的地图上显示所有标记,但示例本身缺少标记 我需要在屏幕上放置所有标记 也试过这个例子,但不是运气 https://heremaps.github.io/maps-api-for-javascript-examples/custom-zooming-into-bounds/demo.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes">
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Zooming Markers</title>
<link rel="stylesheet" type="text/css" href="https://js.api.here.com/v3/3.1/mapsjs-ui.css"/>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-core.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-service.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-ui.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-mapevents.js"></script>
<style>
#map {
width: 95%;
height:1050px;
background: grey;
}
#panel {
width: 100%;
height: 800px;
}
</style>
</head>
<body id="markers-on-the-map">
<div id="map"></div>
<script>
window.apikey=""
var markers=[
{lat:41.4822, lng:-81.6697},
{lat:43.7000, lng:-79.4000},
{lat:43.7000, lng:-79.4000},
{lat:40.7127, lng:-74.0059},
{lat:34.042923, lng:-118.101399},
{lat:40.7127, lng:-74.0059},
{lat:57.979073, lng:-105.929508},
{lat:-42.544551, lng:-66.788650},
]
var platform = new H.service.Platform({
apikey: window.apikey
});
var defaultLayers = platform.createDefaultLayers();
// Step 2: initialize a map
var map = new H.Map(document.getElementById('map'), defaultLayers.vector.normal.map, {
center: new H.geo.Point(30.496199, 72.702070),
zoom: 4,
pixelRatio: window.devicePixelRatio || 1
});
// add a resize listener to make sure that the map occupies the whole container
window.addEventListener('resize', () => map.getViewPort().resize());
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var markers_to_zoom=[]
for(var i=0;i<markers.length;i++){
markers_to_zoom.push(new H.map.Marker({lat:markers[i].lat, lng:markers[i].lng}),)
}
var group = new H.map.Group();
group.addObjects(markers_to_zoom);
map.getViewModel().setLookAtData({
bounds: group.getBoundingBox()
});
map.addObject(group);
</script>
</body>
</html>
【问题讨论】:
标签: javascript heremaps