Genel Bakış
Google Maps API, çeşitli Google Haritalar API'leri için yakınlaştırma düzeyleri. Çoğu yol haritası görüntüler 0 ile 18 arasındaki zum düzeylerinden örneğine bakalım. Uydu görüntüleri bu şekilde daha fazla değişiklik gösterir görüntüler oluşturulmaz, ancak doğrudan fotoğrafları çekilir.
Uydu görüntüleri her zaman mevcut olmadığından
uzak konumlar için yüksek yakınlaştırma düzeyleri (seyrek nüfuslu)
açık okyanus alanları gibidir; gözünüzün önünde
belirli bir konumdaki görüntüler için en yüksek yakınlaştırma düzeyini bilmek
kontrol edin. MaxZoomService
nesnesi,
bir düzeyde maksimum yakınlaştırma düzeyinin keşfedilmesini sağlayan basit arayüz
Google Haritalar'ın uydu görüntülerine sahip olduğu konum.
MaxZoom İstekleri
MaxZoomService
öğesine erişim eşzamansız olduğundan,
Google Maps API'nin harici bir sunucuya çağrı yapması gerekiyor. Örneğin,
Bu nedenle, yürütme işlemi için bir callback
kabul edersiniz. Bu geri çağırma yöntemi,
yardımcı olur.
MaxZoomService
için bir istek başlatmak için
getMaxZoomAtLatLng()
adlı kişiyi
Konumun LatLng
ve bir geri arama işlevi
yerine getirmesi gerekir.
MaxZoom Yanıtları
getMaxZoomAtLatLng()
, geri çağırmayı yürüttüğünde
fonksiyonunu kullanmak için iki parametre geri verilir:
status
,MaxZoomStatus
alt dizesini içeriyor hakkında daha fazla bilgi edinin.zoom
, yakınlaştırma düzeyini içeriyor. Herhangi bir nedenle hizmet başarısız olursa bu değer olmaz.
status
kodu, aşağıdaki değerlerden birini döndürebilir:
OK
, hizmetin maksimum yakınlaştırmayı bulduğunu gösterir seviyelerini belirleyin.ERROR
, MaxZoom isteğinin olduğunu gösterir işlenemedi.
Aşağıdaki örnekte, Tokyo büyükşehir haritası gösterilmektedir. Haritada herhangi bir yeri tıkladığınızda maksimum yakınlaştırma düzeyi gösterilir oluşturabilirsiniz. (Tokyo yakınlarındaki yakınlaştırma düzeyleri genellikle değişiklik gösterir (yakınlık düzeyleri 18 ile 21 arasında olmalıdır).
TypeScript
let map: google.maps.Map; let maxZoomService: google.maps.MaxZoomService; let infoWindow: google.maps.InfoWindow; function initMap(): void { map = new google.maps.Map(document.getElementById("map") as HTMLElement, { zoom: 11, center: { lat: 35.6894, lng: 139.692 }, mapTypeId: "hybrid", }); infoWindow = new google.maps.InfoWindow(); maxZoomService = new google.maps.MaxZoomService(); map.addListener("click", showMaxZoom); } function showMaxZoom(e: google.maps.MapMouseEvent) { maxZoomService.getMaxZoomAtLatLng( e.latLng as google.maps.LatLng, (result: google.maps.MaxZoomResult) => { if (result.status !== "OK") { infoWindow.setContent("Error in MaxZoomService"); } else { infoWindow.setContent( "The maximum zoom at this location is: " + result.zoom ); } infoWindow.setPosition(e.latLng); infoWindow.open(map); } ); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
let map; let maxZoomService; let infoWindow; function initMap() { map = new google.maps.Map(document.getElementById("map"), { zoom: 11, center: { lat: 35.6894, lng: 139.692 }, mapTypeId: "hybrid", }); infoWindow = new google.maps.InfoWindow(); maxZoomService = new google.maps.MaxZoomService(); map.addListener("click", showMaxZoom); } function showMaxZoom(e) { maxZoomService.getMaxZoomAtLatLng(e.latLng, (result) => { if (result.status !== "OK") { infoWindow.setContent("Error in MaxZoomService"); } else { infoWindow.setContent( "The maximum zoom at this location is: " + result.zoom, ); } infoWindow.setPosition(e.latLng); infoWindow.open(map); }); } window.initMap = initMap;