Bu sayfada, Gelişmiş İşaretçiler'in şu özelliklerini nasıl kontrol edeceğiniz gösterilmektedir:
- Bir işaretçi için çakışma davranışını ayarla
- İşaretçi rakımını ayarla
- Harita yakınlaştırma düzeyine göre işaretçi görünürlüğünü kontrol etme
Bir işaretçi için çakışma davranışını ayarla
Çarpışma davranışı, bir işaretçinin başka bir işaretçiyle çarpıştığında (çakıştığında) nasıl görüntüleneceğini kontrol eder. Çarpışma davranışı yalnızca vektör haritalarında desteklenir.
Çarpışma davranışını belirlemek için AdvancedMarkerElement.collisionBehavior
değerini aşağıdakilerden birine ayarlayın:
REQUIRED
: (varsayılan) Çarpışmalardan bağımsız olarak işaretçiyi her zaman göster.OPTIONAL_AND_HIDES_LOWER_PRIORITY
İşaretçiyi, yalnızca diğer işaretçilerle çakışmadığında görüntüleyin. Bu türdeki iki işaretçi çakışırsa daha yüksekzIndex
değerine sahip olan gösterilir. Ekran konumu aynıysazIndex
dikey ekran konumuna sahip olan gösterilir.REQUIRED_AND_HIDES_OPTIONAL
Çarpışmalardan bağımsız olarak işaretçiyi her zaman görüntüleyin ve işaretçiyle çakışacakOPTIONAL_AND_HIDES_LOWER_PRIORITY
işaretçisini veya etiketleri gizleyin.
Aşağıdaki örnekte, bir işaretçi için çakışma davranışı ayarlanma şekli gösterilmektedir:
TypeScript
const advancedMarker = new AdvancedMarkerElement({ position: new google.maps.LatLng({ lat, lng }), map, collisionBehavior: collisionBehavior, });
JavaScript
const advancedMarker = new AdvancedMarkerElement({ position: new google.maps.LatLng({ lat, lng }), map, collisionBehavior: collisionBehavior, });
İşaretçi rakımını ayarla
Vektör haritalarında, bir işaretçinin göründüğü rakımı ayarlayabilirsiniz. Bu, işaretçilerin 3D harita içeriğine göre doğru şekilde görüntülenmesini sağlamak için yararlıdır. Bir işaretçinin rakımını ayarlamak için MarkerView.position
seçeneğinin değeri olarak LatLngAltitude
değerini belirtin:
TypeScript
const pin = new PinElement({ background: '#4b2e83', borderColor: '#b7a57a', glyphColor: '#b7a57a', scale: 2.0, }); const markerView = new AdvancedMarkerElement({ map, content: pin.element, // Set altitude to 20 meters above the ground. position: { lat: 47.65170843460547, lng: -122.30754, altitude: 20 } as google.maps.LatLngAltitudeLiteral, });
JavaScript
const pin = new PinElement({ background: "#4b2e83", borderColor: "#b7a57a", glyphColor: "#b7a57a", scale: 2.0, }); const markerView = new AdvancedMarkerElement({ map, content: pin.element, // Set altitude to 20 meters above the ground. position: { lat: 47.65170843460547, lng: -122.30754, altitude: 20 }, });
Harita yakınlaştırma düzeyine göre işaretçi görünürlüğünü kontrol etme
İşaretçilerin görünürlük değişikliğine bakın (uzaklaştırmayla başlayın):
Bir Gelişmiş İşaretçi'nin görünürlüğünü kontrol etmek için bir zoom_changed
işleyicisi oluşturun ve aşağıdaki örnekte gösterildiği gibi yakınlaştırma, belirtilen düzeyi aşarsa AdvancedMarkerElement.map
özelliğini null
değerine ayarlamak için bir koşullu işlev ekleyin:
TypeScript
map.addListener('zoom_changed', () => { const zoom = map.getZoom(); if (zoom) { // Only show each marker above a certain zoom level. marker01.map = zoom > 14 ? map : null; marker02.map = zoom > 15 ? map : null; marker03.map = zoom > 16 ? map : null; marker04.map = zoom > 17 ? map : null; } });
JavaScript
map.addListener("zoom_changed", () => { const zoom = map.getZoom(); if (zoom) { // Only show each marker above a certain zoom level. marker01.map = zoom > 14 ? map : null; marker02.map = zoom > 15 ? map : null; marker03.map = zoom > 16 ? map : null; marker04.map = zoom > 17 ? map : null; } });