2017-05-30 52 views
1

我有一些麻烦在谷歌地图标记适合Zoom.i我在Xml格式动态获取latlng数据。如何创建缩放适合谷歌地图标记?

这里这我的code.i需要一些帮助请任何一个帮助。

var markers = xml.documentElement.getElementsByTagName('marker'); 
     Array.prototype.forEach.call(markers, function(markerElem) { 
      var id = markerElem.getAttribute('id'); 
      var name = markerElem.getAttribute('name'); 
      var address = markerElem.getAttribute('address'); 
      var type = markerElem.getAttribute('user_type'); 
      var point = new google.maps.LatLng(
       parseFloat(markerElem.getAttribute('lat')), 
       parseFloat(markerElem.getAttribute('lng'))); 


      // var res = point.split({lat: lng:}); 

      var infowincontent = document.createElement('div'); 
      var strong = document.createElement('strong'); 
      strong.textContent = name 
      infowincontent.appendChild(strong); 
      infowincontent.appendChild(document.createElement('br')); 

      var text = document.createElement('text'); 


      text.textContent = address//address view 
      infowincontent.appendChild(text); 
      var icon = customLabel[type] || {}; 
      var icons = ["http://maps.google.com/mapfiles/ms/icons/green.png","http://maps.google.com/mapfiles/ms/icons/blue.png", 
         "http://maps.google.com/mapfiles/ms/icons/yellow.png" 
         ]; 



      var marker = new google.maps.Marker({ 
      map: map, 
      //icon:icons[i], 
      icon:icons[Math.floor(Math.random()*icons .length)], 
      position: point, 
      label: icon.label 
      }); 
+0

看看[这个答案](https://stackoverflow.com/a/38803725/6634591)。也许这可以帮助你! – Luca

回答

0

您可以使用fitBounds()方法:

var bounds = new google.maps.LatLngBounds(); 

//extend the bounds for each marker that you add 
bounds.extend(marker1.getPosition()); 
bounds.extend(marker2.getPosition()); 

//update the map to fit the bounds 
map.fitBounds(bounds);