Jeden klucz, wiele domen
Często otrzymuję pytania na temat możliwości skonstruowania mapy w sytuacji, gdy ma być ona dostępna pod wieloma domenami. W takiej sytuacji skrypt API sprawdza poprawność klucza, a stwierdzając jego niezgodność z domeną wyświetla komunikat o błędzie i nie uruchamia mapy. Ręczne zmienianie klucza wchodzi w grę, gdy mapa dostępna jest w trzech egzemplarzach, po jednym dla każdej domeny. Co jednak zrobić, gdy do jednej mapy mamy wiele domen, a chcemy używać jednego klucza?
Rozwiązanie jest proste. Należy wybrać domenę "główną", do której wygenerowany zostanie klucz API. Stronę z mapą należy rozbić na właściwą stronę zawierającą mapę, oraz na stronę, na której mapa będzie wyświetlana. Mapę należy wstawić do czystego pliku HTML ze zdefiniowanymi marginesami i paddingiem równymi 0. Przykładowo, kod html pliku mapa.html, którego będę używał w tym przykładzie wygląda następująco:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Przykład</title>
<script src='http://maps.google.com/maps?file=api&v=2.x&sensor=false&key=ABQIAAAAskA3kyDm631CGf6Rw_GrbBRI4aQRVVUPNMvSBmcMpGJI7P0YchSX0OZ5KbkwNpcfvcT6uTX6aqFYAQ' type='text/javascript'></script>
<style type="text/css">
body,html
{
margin: 0;
padding: 0;
}
</style>
</head>
<body onload='mapaStart()' onunload='GUnload()'>
<div id="mapka" style="width: 600px; height: 500px; background: gray;"></div>
<script type='text/javascript'>
<!--
var mapa;
function mapaStart()
{
if(GBrowserIsCompatible())
{
mapa = new GMap2(document.getElementById("mapka"));
mapa.addControl(new GLargeMapControl());
mapa.setCenter(new GLatLng(37.642647000000004,-122.272251),9);
}
}
-->
</script>
</body>
</html>
Ten plik znaduje się pod adresem http://gmapsapi.com/examples/064/mapa.html, i to na ten adres został wygenerowany klucz API. Teraz wystarczy załadować tę stronę w ramce iframe na stronie, na której mapa ma się faktycznie znaleźć, wstawiając kod:
<iframe id="mapka" style="width: 600px; height: 500px; border: 1px solid black;" src="http://gmapsapi.com/examples/064/mapa.html"></iframe>
Podanie adresu bezwględnego (z http://) oszczędzi wiele problemów. Zwróć uwagę, że rozmiary iframe są takie same jak rozmiary mapy w pliku mapa.html - to stworzy złudzenie, że mapa jest osadzona bezpośrednio w kodzie przykładu. Ponieważ mapa znajduje się w pliku mapa.html, a jego domena jest zawsze ta sama (adres bezpośredni) to wynik sprawdzania klucza będzie zawsze pozytywny, niezależnie od adresu strony-rodzica.
Działanie mapy pokazuje przykład: przykład 1pokaż kod przykładu
Właściwy plik z mapą znajdziesz tu
Polecane artykuły
Oto, co najczęściej czytają internauci, którzy przeczytali ten artykuł:
Dodawanie markerów przez użytkownikaPoradnik pokazuje, w jaki sposób stworzyć formularz, pozwalający na dodawanie markerów
kliknij by przeczytać- data dodania: 2009-07-23
- poziom trudności:



- popularność:



Wczytywanie danych z programu MS ExcelW tym przykładzie pokazane zostało, w jaki sposób wyświetlić markery z arkusza kalkulacyjnego
kliknij by przeczytać- data dodania: 2009-05-12
- poziom trudności:


- popularność:



Zmiana domyślnych komunikatów mapySposób na podmianę standardowych komunikatów oraz nazw map na własne.
kliknij by przeczytać- data dodania: 2009-07-11
- poziom trudności:


- popularność:


Własna mapa w Google Maps APIPraktyczny poradnik, opisujący przygotowanie i sposób stworzenia własnej mapy, na przykładzie mapy z popularnej gry GTA: Vice City
kliknij by przeczytać- data dodania: 2009-01-21
- poziom trudności:



- popularność:



Feedback
Dziękujemy za podzielenie się opinią.
Nazw zastrzeżonych użyto w celu identyfikacji produktu oraz w celach informacyjnych. Autor strony nie jest związany z firmą Google. Zawartość strony, w tym teksty i obrazki są chronione prawem autorskim, i należą do autora strony, o ile nie stwierdzono inaczej. Autor nie odpowiada za straty, jakie może nieść szczególnie niewłaściwe użycie API. Strona używa poprawnego języka XHTML STRICT i CSS. Autor dołożył wszelkich starań w celu zapewnienia poprawności działania skryptów, lecz nie może zapewnić, że są one wolne od błędów. Strona jest monitorowana przez oprogramowanie do generowania statystyk Piwik. Copyright © 2007-2009 Poznaj Google Maps API