Google Maps API'yi Kullanma v3: Belirli bir alanda fare imlecini değiştirdiğimde fare imlecini nasıl değiştirebilirim?Google Map v3'te belirli bir alanda fare hareketi yaparken fare imlecini nasıl değiştiririm?
cevap
Evet, bu aşağıdaki örnekte olduğu gibi, mapOptions içinde draggableCursor
ayarlayarak mümkündür: Yukarıdaki örneği çalıştırırsanız
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps v3 Change Cursor Demo</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 350px"></div>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById("map"), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 8,
center: new google.maps.LatLng(-34.3, 150.6)
});
var ne = new google.maps.LatLng(-34.00, 150.00);
var nw = new google.maps.LatLng(-34.00, 150.50);
var sw = new google.maps.LatLng(-35.00, 150.50);
var se = new google.maps.LatLng(-35.00, 150.00);
var boundingBox = new google.maps.Polyline({
path: [ne, nw, sw, se, ne],
strokeColor: '#FF0000'
});
boundingBox.setMap(map);
google.maps.event.addListener(map, 'mousemove', function(event) {
if ((event.latLng.lat() > se.lat()) && (event.latLng.lat() < ne.lat()) &&
(event.latLng.lng() > ne.lng()) && (event.latLng.lng() < sw.lng())) {
map.setOptions({ draggableCursor: 'crosshair' });
}
else {
map.setOptions({ draggableCursor: 'url(http://maps.google.com/mapfiles/openhand.cur), move' });
}
});
</script>
</body>
</html>
, imleç çapraz saça fare içine taşınır kez değiştirecek kırmızı dikdörtgen. için danışmanlık
Google Maps Change Cursor http://img535.imageshack.us/img535/5923/mapcursor.png
Diğer cevaplar çalışacak tüm harita nesne üzerinde 'mousemove' dinleyicileri koymak ama yanlış için. Bu, 'ağır elle' ve bu gibi dinleyiciler, gerçek bir uygulamada toplayabildiğinden ve haritanızdaki diğer şeylerle birleştirildiğinde ciddi performans problemlerine ve muhtemelen öngörülemeyen yarış koşullarına neden olabileceğinden kötü bir fikir!
Bunu yapmanın en iyi yolu, google.maps.Polygon
sınıfını kullanmaktır. Bu, bir Çokgen oluşturmak için bir dizi LatLng nesnesi geçirmenizi sağlar. Bu çokgen, harita üzerinde oluşturulur ve 'işaretçi' varsayılan bir mouseover özniteliğine sahiptir, new google.maps.Polygon
sınıf çağrısından döndürülen nesneye bir 'mouseover' dinleyicisi ekleyebilirsiniz.
http://code.google.com/apis/maps/documentation/javascript/examples/polygon-simple.html
var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875);
var myOptions = {
zoom: 5,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var bermudaTriangle;
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var triangleCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737)
];
bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: "#FF0000",
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
Sonra örnek nedense çalışmıyor bu
google.maps.event.addListener(bermudaTriangle, 'mouseover', function() {
map.setZoom(8);
});
//now if you mouse over the Polygon area, your map will zoom to 8
- 1. Açıdaki fare hareketi açısının hesaplanması
- 2. Boş bir süre sonra fare imlecini gizle
- 3. Fare imlecini Javascript'te veya jQuery öğelerini değiştirme
- 4. Fare
- 5. Fare imlecini sol fare düğmesi kapalıyken nasıl değiştirebilirim? Delphi 2007'de
- 6. win32: fare hareketi simüle etmeden bir tıklama simüle?
- 7. X, Y Koordinatlarındaki Fare İmlecini Nasıl Ayarlayabilirim, Sol Fare Tıkla Ve Sola Kaydır, Sağ, Üst, Alt
- 8. Fare imlecini bir noktaya taşıdığınızda Highmaps'ta farklı resimler gösterme
- 9. google maps overlays için fare imleci
- 10. Çizim Fare çizim yaparken titreklik yapma Java
- 11. Fare tıklamaları/hareketi yalnızca pencere XNA'da kaplanmadığında nasıl tanınır?
- 12. Düğmeye basıldığında düğüm üzerinde fare hareketi nasıl algılanır?
- 13. Fare hareket halindeyken Java fare olayları göz ardı ediliyor mu?
- 14. Windows 10, fare imlecini geciktirerek pencereyi etkinleştirir mi?
- 15. NSPopover, fare işaretçisini düzgün bir şekilde nasıl izler ve fare olaylarını yoksayar?
- 16. HTML5 Canvas içeriğinde Fare İmlecini Gizle Tuval Javascript
- 17. Farklı bir programda fare emülasyonu
- 18. Fare imleci, fare kapanı tek bir işlevde nasıl açılır
- 19. C# Ekranda belirli bir fare konumunda bir form nasıl gösterilecek?
- 20. Fare jQuery
- 21. Fare Vurgusu
- 22. capybara üzerinde vurgulu fare
- 23. Fare kullanarak yakalamak için bir alan seçin
- 24. HTML5 Kanvas: Nasıl fare ile fare tutamacını yönetmek mouseclick
- 25. Fare girme ve fare çıkışı veya hover kullanımı nasıl kullanılır
- 26. Fare hareketini yumuşatır
- 27. nasıl fare imleci Geçerli fare imleci yanında mevcut haliyle boyutunu görüntülemek istediğiniz XE2'de
- 28. QTableView: Belirli bir hücre üzerinde kullanıcı tıklama fare
- 29. Fare Tıklatma ve Fare Tekerini Taklit Etme ve Fare Tekeri Qt'yi Kullanma
- 30. Update() + Raycast + etiketi, fare
gibi dinleyici ekleyebilirsiniz, ancak bu örnekten aşağıda kaynağıdır kod aslında çalışır Kodumda denerim! – Michel
Örnek sadece bir görüntüdür :) – Alp
Polyline yerine Çokgen kullanırsam ne yapabilirdim? draggableCursor işe yaramadı ... imleç hala işaretçisi –