Mapy Google w skali szarości
Czy Jest jakiś sposób na wyświetlenie Mapy Google (osadzonej za pośrednictwem Javascript API) w skali szarości bez utraty żadnej innej funkcjonalności?
8 answers
Tak, W V3 api wprowadzili StyledMaps
.
Dostarczyli nawet narzędzie do generowania kodu dla stylów, które lubisz. Przesuń "nasycenie" aż w dół i masz skalę szarości dzieje!
Poniższy przykład wyświetla mapę Brooklynu w skali szarości:
var map;
var brooklyn = new google.maps.LatLng(40.6743890, -73.9455);
var stylez = [
{
featureType: "all",
elementType: "all",
stylers: [
{ saturation: -100 } // <-- THIS
]
}
];
var mapOptions = {
zoom: 11,
center: brooklyn,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'tehgrayz']
}
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var mapType = new google.maps.StyledMapType(stylez, { name:"Grayscale" });
map.mapTypes.set('tehgrayz', mapType);
map.setMapTypeId('tehgrayz');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-23 11:16:10
Jest trochę krótszy sposób (w porównaniu do @Roatin Marth ' S najlepsza odpowiedź), aby uzyskać skalę szarości Mapy Google za pomocą Google Maps JavaScript API V3 poprzez bezpośrednie włączenie stylów wygenerowanych za pomocą Google Maps API Styled Map Wizard do google.maps.MapOptions
obiekt:
var container = document.getElementById('map_canvas');
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(40.6743890, -73.9455),
styles: [{
stylers: [{
saturation: -100
}]
}]
};
var map = new google.maps.Map(container, mapOptions);
Ustawia się tablicę pod właściwością styles
W Zmiennej mapOptions
, klikając przycisk "Pokaż JSON" w panelu styl mapy po zakończeniu dostosowywania stylów za pomocą interfejsu API Google Maps API Wizard .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:24
Po prostu użyj CSS3 grayscale () efektu filtra dla elementu iframe Google maps! Działa, ponieważ kod js drukuje obrazy.
iframe {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
filter: url(grayscale.svg); /* Firefox 4+ */
filter: gray; /* IE 6-9 */
}
Spróbuj również kierować tylko obrazy tła , stosując to do pierwszego elementu div pod div.gm-style
(lub dowolnym innym opakowaniem). Nie wiem, czy Google często zmienia strukturę dom, ale w tej chwili (25 Nov 2014) to działa dobrze.
iframe .gm-style > div:first-child {
// Same code here
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-25 11:10:03
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-02 13:09:59
IE posiada dyrektywę filter: gray
.
Renderuje dowolny element HTML w skali szarości. JSFiddle tutaj .
Ty możesz być w stanie zastosować to do nadrzędnego DIV mapy. To Może zmienić mapę, która zawiera w do odwzorowania skali szarości. Nie mogę powiedzieć, czy to zadziała bez skutków ubocznych - trzeba by spróbować. Ale to możliwe.
TYLKO IE, ale Obsługiwane od wersji 4.
Inne poza tym, myślę, że jest API Flash dla map, prawda? Tam może być łatwiej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-23 11:00:15
Użyj właściwości filtr CSS, aby przekonwertować mapę google na czarno-białą. 100% jest całkowicie czarno-biały
selector {
-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
filter: grayscale(100%);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-03 12:58:44
Tak, istnieje API stron trzecich dla Google maps, który zapewnia szarą skalę (snazzymaps).
To bardzo proste. Możesz użyć tej strony, aby uzyskać inny schemat kolorów dla Map google.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-13 09:33:24
Oprócz pisania dobrych ludzi w Google i prosząc ich o stworzenie szarych wersji wszystkich swoich płytek graficznych i opcjonalnego parametru API, Nie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-23 10:51:36