Używam google map API w wersji 3. Chcę wyłączyć działanie kliknięcia w domyślnym punkcie kontrolnym/poi Google. Na przykład, gdy przybliżam UCLA, pojawia się ikona szkoły (jest to w porządku), ale nie chcę, aby użytkownik kliknął i wyświetlił szczegóły tej lokalizacji. Którą funkcję interfejsu API powinienem użyć?wyłącza klikalny punkt orientacyjny na mapie google
Odpowiedz
Napotkałem ten sam problem. Wygląda na to, że Google ostatnio zmienił swoje api, aby uczynić etykietę mapy podstawowej "klikalną" i nie ma jeszcze prostego wywołania API, aby wyłączyć ich klikalność. http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/f1ac9ad4da3606fe
Chciałbym zobaczyć google dodać prostą opcję mapę tak, ale niestety nie istnieje jeszcze
var opts = { clickableLabels:false };
var map = new maps.google.com.map(div,opts);
Poniżej rozwiązanie działa, ale dlatego, że opiera się na niestandardowe urządzone płytek map, darmowe mapy są ograniczone do (2 500 map ładunków dziennie) - See Google Maps FAQ.
function initialize() {
// For more details see
// http://code.google.com/apis/maps/documentation/javascript/styling.html
var noPOILabels = [
{
featureType: "poi",
elementType: "labels",
stylers: [ { visibility: "off" } ]
}
];
// Create a new StyledMapType object, passing it the array of styles,
// as well as the name to be displayed on the map type control.
var noPOIMapType = new google.maps.StyledMapType(noPOILabels,
{name: "NO POI"});
// Create a map object, and include the MapTypeId to add
// to the map type control.
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(55.6468, 37.581),
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'no_poi']
}
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
//Associate the styled map with the MapTypeId and set it to display.
map.mapTypes.set('no_poi', noPOIMapType);
map.setMapTypeId('no_poi');
}
Po przeczytaniu tego, wygląda na to, że całkowicie ukryłoby się znaczniki, a nie tylko uniemożliwiło ich kliknięcie. Czy to jest poprawne? –
To prawda. W przypadku nieoficjalnego (niestabilnego) rozwiązania, które pozostawia je widoczne, zobacz mój komentarz pod powyższym pytaniem dotyczący wymuszania wcześniejszej wersji interfejsu API. Jeśli znajdziesz lepsze rozwiązanie, chciałbym o tym usłyszeć. – Glenn
Dzięki! To całkowicie pomogło. :) –
Ten problem został zapisany z Google pod adresem:
http://code.google.com/p/gmaps-api-issues/issues/detail?id=3866
Proszę Star i komentować swoje potrzeby w tej kwestii istnieje.
Rozumiem, że to pytanie jest stary, ale może ta odpowiedź będzie pomagać innym:
Nie jestem pewien, czy to jest legalne, ale skończyło się na odkrywanie i uczynił ten kod:
$("#google-map").on("mousedown",function(){
setTimeout(function(){
disableInfoWindows();
},500);
});
function disableInfoWindows()
{
$(".gm-iw.gm-sm").parent().parent().remove();
$("[style='position: absolute; left: -2px; top: -336px; width: 59px; height: 492px; -webkit-user-select: none; border: 0px; padding: 0px; margin: 0px;']")
.parent()
.parent()
.remove();
}
To działało dla mnie, nie wyświetla się informacja, przy jednoczesnym zachowaniu wszystkich ikon. Każdy, kto ma pomysł ulepszenia kodu, jest mile widziany, infoWindow pojawia się tylko trochę za pierwszym razem, kiedy się otworzy, po tym pierwszym całkowicie zniknął.
Rozumiem, że OP chce rozwiązania, które utrzymuje etykiety/ikony, ale zawiesza zdarzenia kliknięcia. Nie jestem pewien, czy to możliwe; proszę star this issue
Jednak niektórzy z nas rysują kształty Sans Drawing Manager, a etykiety/ikony utrudniają dodawanie nowych punktów. Jeśli spełnia Twoje wymagania, możesz tymczasowo usunąć ikony/etykiety. Odkryłam, że tranzyt, poi i krajobraz wszystkie muszą być przełączana:
var map = new google.maps.Map(document.getElementById("map"), {});
map.poi = function(state){
var styles = [
{
"featureType": "transit",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "poi",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "landscape",
"stylers": [
{ "visibility": "off" }
]
}
];
this.set("styles", (state)? {} : styles);
}
A Zastosowanie:
//turn the labels/icons off
map.poi(false);
//turn them back on
map.poi(true);
Google ujawnił opcję dla tego produktu. Zobacz clickableIcons
z google.maps.MapOptions
in the docs.
Przykładowy kod inicjalizacji:
map = new google.maps.Map(document.getElementById('map'), {
clickableIcons: false
});
To powinno być teraz oznaczone jako odpowiedź. – keaukraine
dodać tę opcję, aby mapOption clickableIcons: false
to więcej opcji myślę, że będzie
draggable: true, // this is for disable the Draggable
disableDefaultUI: true, // this for disable Default UI
fullscreenControl: false, // this is for disable Full Screen
scrollwheel: true, // this is for disable Scroll Wheel
disableDoubleClickZoom: false, // this is for disable Double Click Zoom
draggableCursor:'crosshair',// this is for cursor type
draggingCursor:'move', // this is for dragging cursor type
minZoom: 3, // this is for min zoom for map
maxZoom: 18 , // this is for max zoom for map
//note : max, min zoom it's so important for my design.
zoom: 14, // this is to make default zoom
clickableIcons: false, // this is to disable all labels icons except your custom infowindow or Infobox.
- 1. Google Maps v3 zestaw pojedynczy punkt znacznikowy na mapie kliknij
- 2. OpenCV - przechylona kamera i punkt orientacyjny triangulacji dla widzenia stereo
- 3. Zmień Centrum przesunięć na Mapie Google
- 4. Symulacja kliknięcia na mapie Google
- 5. Google Chrome wyłącza animacje okien
- 6. Niestandardowe okno z kranu na Google Mapie
- 7. Obliczanie obszaru wielokąta narysowanego na mapie google
- 8. Wyświetlanie wielu tras na mapie google
- 9. Jak wyrównać ikonę znacznika na mapie google
- 10. Pobierz bieżącą lokalizację na mapie Google
- 11. Dodawanie tablicy znaczników na mapie Google
- 12. Jak przesłonić kolory KML na Mapie Google?
- 13. Jak wyświetlić ikonę migającą na mapie google
- 14. Android, narysuj trasę na mapie google
- 15. Animacja okręgu na mapie google w Androidzie
- 16. Google maps iframe wyłącza przewijanie dotknięciem na telefonie komórkowym
- 17. Umieść przycisk na górze mapy google
- 18. Ustawienie LongClickListener na mapie Marker
- 19. Jak wykryć zdarzenie kliknięcia na mapie google za pomocą nakładki?
- 20. Nie można dodać wydarzenia na mapie Google Infobox
- 21. ANDROID Czy można wyświetlić tylko określony kraj na mapie google?
- 22. Ponowne upuszczanie wielu znaczników Google Maps bez odświeżania na mapie
- 23. Jak utworzyć wiele infowindow na mapie google api
- 24. Lokalizacja logo Google na mapie w aplikacji iOS
- 25. Dodawanie wielu znaczników na mapie Google przy użyciu api v2
- 26. Przybliżanie do środka na mapie w Google Maps API V3
- 27. Podaj inny kolor dla każdego kraju na mapie google
- 28. Jak znaleźć aktualny poziom powiększenia na mapie Google?
- 29. Jak wyróżnić/wybrać różne regiony na mapie Google?
- 30. Jak dodać niestandardowy znacznik wysokiej rozdzielczości na statycznej mapie google
znalazłem przykład na powietrzu Wyszukiwanie mapy bnb. Wyłączono kliknięcie z kliknięciem bez ukrywania punktów orientacyjnych. Jak oni to zrobili? – Clark
Myślę, że możesz wymusić wcześniejszą wersję swojego API, np. 3.3 lub 3.4, i to może zadziałać, lub możesz użyć rozwiązania, które zamieściłem poniżej z najnowszym API. – Glenn
spróbuję. dzięki. – Clark