Google Maps API v3, автоматическое масштабирвоание
Знакомлюсь с LatLngBounds(), на примерах до страха все ясно и понятно :-E , так всегда когда по теории все понятно, жди "лужу" на практике
массив маркеров, при нажатии на кнопку рисуем маркеры и отображаем их. Укажите в чем я не прав, итератор говорит, что не прав в 22-й строке ( var myLatlng = new google.map.LatLng(beaches[i][1], beaches[i][2]);) но к сожалению мы плохо друг друго понимаем, надеюсь на вашу помощ function initialize() { var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng } var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); } var beaches = [ ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach', -33.923036, 151.259052, 5], ['Cronulla Beach', -34.028249, 151.157507, 3], ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], ['Maroubra Beach', -33.950198, 151.259302, 1] ]; function setAllMap(map, location) { var Bounds = new google.maps.LatLngBounds(); for(var i = 0; i < beaches.length; i++){ var myLatlng = new google.map.LatLng(beaches[i][1], beaches[i][2]); console.log(beaches[i][1], beaches[i][2]); Bounds.extend(myLatlng); var market = new google.map.Market({ position: myLatlng, map: map, title: beaches[i][0], }) } map.setCenter(Bounds.getCenter(), map.fitBOnus(Bounds)); } google.maps.event.addDomListener(window, 'load', initialize); |
уже не актуально.
При нажатии на кнопку "setMarkers", карту перекидывает к установленным маркерам, надеюсь кому-нибудь поможет: <!DOCTYPE html> <html> <head> <title>Remove Markers</title> <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } #panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script src="main.js"></script> </head> <body> <div id="panel"> <input onclick="setM();" type=button value="setMarkers"> <input onclick="showMarkers();" type=button value="Show All Markers"> <input onclick="deleteMarkers();" type=button value="Delete Markers"> <input onclick="goMarker();" type=button value="Go to Marker"> </div> <div id="map-canvas"></div> <p>Click on the map to add markers.</p> </body> </html> var map; function initialize() { var mapOptions = { zoom: 6, center: new google.maps.LatLng(-35.9, 155.2) } map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); } var beaches = [ ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach', -33.923036, 151.259052, 5], ['Cronulla Beach', -34.028249, 151.157507, 3], ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], ['Maroubra Beach', -33.950198, 151.259302, 1] ]; function setMarkers(map, locations) { // Add markers to the map var latlngbounds = new google.maps.LatLngBounds(); for (var i = 0; i < locations.length; i++) { var beach = locations[i]; var myLatLng = new google.maps.LatLng(beach[1], beach[2]); latlngbounds.extend(myLatLng); var marker = new google.maps.Marker({ position: myLatLng, map: map }); } map.setCenter( latlngbounds.getCenter(), map.fitBounds(latlngbounds)); } function setM(){ setMarkers(map, beaches); } google.maps.event.addDomListener(window, 'load', initialize); |
Часовой пояс GMT +3, время: 16:45. |