Kullanıcı bir seçenek belirlediğinde GoogleMap’ın sınırlarını nasıl sıfırlayabilirim? Sınırlar zaten alanın 'büyük resmini' içerecek şekilde ayarlanmış, kullanıcı bir seçenek seçtiğinde belirli bir bölgeye zum yapmak istiyorum ... ve sınırları sıfırlayarak bunu yapmak gerekiyor. Lat/long'ları içerecek şekilde genişletmek zaten dahil oldukları için çalışmayacaktır.Google Haritalar API'sındaki sınırları sıfırla v3
10
A
cevap
11
Bir new bounds object oluşturmak, ona harita noktaları eklemek ve sonra sınır nesnesini haritaya eklemeniz gerekir.
Yoğunlaştırılmış çözüm:
//Create new bounds object
var bounds = new google.maps.LatLngBounds();
//Loop through an array of points, add them to bounds
for (var i = 0; i < data.length; i++) {
var geoCode = new google.maps.LatLng(data[i][1], data[i][2]);
bounds.extend(geoCode);
}
//Add new bounds object to map
map.fitBounds(bounds);
haritası dokanak, ajax noktalarının güncelleştirilmiş dizi alma, mevcut işaretleri kaldırarak harita ekleyerek ve ardından sıfırlamak için My komple çözüm.
<script type="text/javascript">
var map;
var markers = [];
$(document).ready(function() {
initialize();
setInterval(function() {
setMarkers();
}, 3000);
});
google.maps.visualRefresh = true;
function initialize()
{
var mapOptions = {
zoom: 2,
center: new google.maps.LatLng(45, -93),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
setMarkers();
}
function setMarkers()
{
removeMarkers();
var bounds = new google.maps.LatLngBounds();
$.ajax({
url: "/Your/Url?variable=123",
dataType: "json",
success: function (data) {
//Data returned is made up of string[3]
if (data != null) {
//loop through data
for (var i = 0; i < data.length; i++) {
var geoCode = new google.maps.LatLng(data[i][1], data[i][2]);
var marker = new google.maps.Marker({
position: geoCode,
map: map,
title: data[i][0],
content: '<div style="height:50px;width:200px;">' + data[i][0] + '</div>'
});
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.content);
infowindow.open(map, this);
});
markers.push(marker);
bounds.extend(geoCode);
}
}
map.fitBounds(bounds);
}
});
}
function removeMarkers()
{
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
}
İlgili konular
- 1. Google Haritalar API'sındaki geojson çokgenlere yakınlaştırma v3
- 2. Bir polisin sınırlarını Google Haritalar API'sında kullanma v3
- 3. Google Haritalar API'sından Yol İşaretleyicilerini Kaldırma V3
- 4. Google Haritalar Api v3 özel InfoWindow - "google tanımlı değil" hatası
- 5. Google Haritalar v3'te işaretçinin InfoWindow'una nasıl resim eklenir?
- 6. Google Haritalar V3 ile çoklu çoklu çizgiler ve altlıklar V12
- 7. Google Haritalar
- 8. Google Haritalar API v2 olarak
- 9. İmleç Google Haritalar uygulamasında kayboluyor
- 10. Google haritalar duyarlı yeniden boyutlandırma
- 11. Haritalar, Google için Google Haritalar API'sinde çevrimdışı çalışmayı nasıl sağlar?
- 12. Google Haritalar - bölgelerinin Poligon sınırını/mahalle
- 13. açık google haritalar
- 14. Google haritalar reaksiyon
- 15. Google Haritalar API'sı
- 16. Google haritalar android
- 17. Google Haritalar görüntülenmiyor
- 18. Flex Bileşenindeki Google Haritalar
- 19. Google Haritalar API'sı
- 20. Google Haritalar ile DrawerLayout
- 21. Google Haritalar API'sı?
- 22. Google Haritalar JavaScript API v3 kullanarak Google Haritalar'da görüntülenen alanın merkezindeki koordinatları nasıl alabilirim?
- 23. API ile Özel Google Haritalar Katmanları mı? Bu, Google Maps API v3 ilgili olduğunu
- 24. Google Maps v3 - mil
- 25. google maps v3
- 26. Google Map v3 Harita yüklü etkinlik
- 27. Çokgen çizimi tamamlandığında, google maps api v3
- 28. Google Haritalar sınırlarını angular-google-haritaları ile ayarlayın
- 29. Ülke haritaları ile Google Haritalar?
- 30. Gömülü Google Haritalar Hatası - Menşei