微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这里地图自动缩放以适合所有标记

如何解决这里地图自动缩放以适合所有标记

我试图在我尝试使用示例 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:40.7127,lng:-74.0059},{lat:34.042923,lng:-118.101399},{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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。