Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP][MySQL]Google Maps Api Key
Forum PHP.pl > Forum > Przedszkole
lukaszk
Witam, mam problem z API KEY do google maps.

Szukam już dwa dni i nie mogę znaleźć działu gdzie mogę wygenerować ten kod.

Przeniosłem stronę na inny serwer i inną domenę i teraz wyskakuje mi że muszę mieć inny kod ale gdzie go zdobyć!

Kilka miesięcy temu generowałem ten kod i nie miałem problemu teraz to co się tam dzieje to jakiś koszmar nic nie można znaleźć.


Szukałem w google i kieruje mnie to
http://code.google.com/intl/pl/apis/maps/signup.html
i
https://code.google.com/apis/console/#project:122646697603
tu sprawdzałem i wygenerowałem coś takiego
  1. Client ID:
  2. 122646697603.apps.googleusercontent.com
  3. Client secret: Yo0hXitUoloQ1_nrQzyz2lro
  4. Redirect URIs: <a href="http://www.------site" target="_blank">http://www.------site</a> -----.co.uk/oauth2callback
  5. JavaScript origins: <a href="http://www.---------site----------.co.uk" target="_blank">http://www.---------site----------.co.uk</a>

ale to też nie działa
i pojawia się taki komunikat
  1. Google has disabled use of the Maps API for this application. The provided key is not a valid Google API Key, or it is not authorized for the Google Maps Javascript API v2 on this site. If you are the owner of this application, you can learn about obtaining a valid key here: <a href="http://code.google.com/apis/maps/documentation/javascript/v2/introduction.html#Obtaining_Key" target="_blank">http://code.google.com/apis/maps/documenta...l#Obtaining_Key</a>




tak wygląda kod odpowiadający za wyświetlanie mapy
  1. require "mapy/nxgooglemapsapi.php";
  2. $api = new NXGoogleMapsAPI();
  3. // setup the visual design of the control
  4. $api->setWidth(675);
  5. $api->setHeight(450);
  6. $api->setZoomFactor(14);
  7. $api->addControl(GLargeMapControl);
  8. $api->addControl(GMapTypeControl);
  9. $api->addControl(GOverviewMapControl);
  10.  
  11. $lokalizacja = $a['lokalizacja'];
  12. $ulica = $a['ulica'];
  13. $post_code = $a['post_code'];
  14.  
  15. // add an address. the address is geocoded in the webbrowser, not by the server!
  16. $api->addAddress("$ulica, $lokalizacja $post_code", "<br>Tu mieszkam!!! <br>Ulica $ulica w $lokalizacja", true);
  17. ?>
  18.  
  19. <?php echo $api->getHeadCode(); ?>
  20. <body onLoad="<?php echo $api->getOnLoadCode(); ?>">
  21. <?php echo $api->getBodyCode(); ?>
  22.  


Klasa

  1. <?php
  2.  
  3. define(GoogleMapsKey, 'ABQIAAAAxB8iPCTfcjaENcRS1Jt9sRQ7HPCK_Yo0hXitUoloQ1_nrQzyz2lro'); // to jest kod starej domeny
  4.  
  5. define( GLargeMapControl , 'GLargeMapControl()');
  6. define( GSmallMapControl , 'GSmallMapControl()');
  7. define( GSmallZoomControl , 'GSmallZoomControl()');
  8. define( GScaleControl , 'GSCALEControl()');
  9. define( GMapTypeControl , 'GMapTypeControl()');
  10. define( GOverviewMapControl , 'GOverviewMapControl()');
  11.  
  12. ...reszta kody wykasowana z uwagi na ograniczenia długości posta
  13. ?>
  14.  
Mega_88
Z tym API to coś teraz trzeba bardziej kombinować, logować, rejstrować czy coś w tym stylu. Możesz zrobić tak, działa bez API

  1. <body onload="initialize()">


  1. <div id="mapa"></div>
  2. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  3.  
  4. <script type="text/javascript">
  5. function initialize() {
  6. var myLatlng = new google.maps.LatLng(54.799086,18.398754);
  7. var myOptions = {
  8. zoom: 17,
  9. center: myLatlng,
  10. mapTypeId: google.maps.MapTypeId.ROADMAP
  11. }
  12. var map = new google.maps.Map(document.getElementById("mapa"), myOptions);
  13. var marker = new google.maps.Marker({
  14. position: myLatlng,
  15. map: map,
  16. title:"Nazwa wskaźnika"
  17. });
  18. coordInfoWindow = new google.maps.InfoWindow({content: "<span style='color:#dcb620;font-size:12px;'><h3><b>Nazwa</b></h3></span><span style='color:#3e3e3e; font-size:12px;'>Ulica<br />Miejscowość</span>"});
  19.  
  20. coordInfoWindow.setPosition(myLatlng);
  21. coordInfoWindow.open(map);
  22. }
lukaszk
Skrypt pochodzi stąd
http://www.phpclasses.org/package/3374-PHP...e-Maps-API.html
a wykorzystałem go gdyż znajduję lokalizację już po miejscowości czy kodzie pocztowym.
Na starej domenie działa bez problemu

Cytat(Mega_88 @ 13.03.2012, 13:41:59 ) *
Z tym API to coś teraz trzeba bardziej kombinować, logować, rejstrować czy coś w tym stylu. Możesz zrobić tak, działa bez API

  1. <body onload="initialize()">


  1. <div id="mapa"></div>
  2. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  3.  
  4. <script type="text/javascript">
  5. function initialize() {
  6. var myLatlng = new google.maps.LatLng(54.799086,18.398754);
  7. var myOptions = {
  8. zoom: 17,
  9. center: myLatlng,
  10. mapTypeId: google.maps.MapTypeId.ROADMAP
  11. }
  12. var map = new google.maps.Map(document.getElementById("mapa"), myOptions);
  13. var marker = new google.maps.Marker({
  14. position: myLatlng,
  15. map: map,
  16. title:"Nazwa wskaźnika"
  17. });
  18. coordInfoWindow = new google.maps.InfoWindow({content: "<span style='color:#dcb620;font-size:12px;'><h3><b>Nazwa</b></h3></span><span style='color:#3e3e3e; font-size:12px;'>Ulica<br />Miejscowość</span>"});
  19.  
  20. coordInfoWindow.setPosition(myLatlng);
  21. coordInfoWindow.open(map);
  22. }








ale tu masz
var myLatlng = new google.maps.LatLng(54.799086,18.398754);

musisz podać dokładne współrzędne lokalizacji
by_ikar
Aby móc korzystać z api udostępnionych przez google, do twojego konta, musi zostać podpięta karta kredytowa/płatnicza/debetowa - ogólnie jakaś karta od płatności internetowych. Potrąci ci z tej karty 1zł, na sprawdzenie czy jest ważna, i potem zostaną ci zwrócone potrącone pieniądze (~1zł). Jeżeli nie masz karty kredytowej, ani żadnej innej którą można płacić przez neta, poczytaj o kartach internetowych. Wtedy musisz zapłacić za swoją usługę, która wyniesie cię aż 0zł, i dopiero wtedy będziesz mógł korzystać z jakiego kolwiek api.

Poczytaj o limitach jakie zostały nałożone, moim zdaniem są śmieszne, w stosunku do ceny.. Mapy mają chyba 25k "odsłon" na dobę, o ile dobrze pamiętam. I musisz uważać, bo w przypadku kiedy podłączysz kartę kredytową i nie ustawisz jakichś limitów, to automatycznie ściągnie ci kasę z karty.. ja tak pozbyłem się 105 dolarów..

Z jednej strony rozumiem politykę google, z drugiej strony mnie ona wk*rwia..
lukaszk
Ale na starej domenie działa i po zmianie polityki generowałem już ten kod i nie musiałem podawać karty

Ok mam kod
https://code.google.com/apis/console/#proje...46697603:access
tu wygenerowałem i działa. Teraz proszę rozwiń mi temat tych opląt i limitów.
W dziale "All services" najlepiej ustawić limity na wszystko czy może jednak coś zostawić a może jest tu jakaś pułapka na którą trzeba uważać?
by_ikar
A na starej domenie korzystałeś z api key, czy dopiero teraz się zarejestrowałeś?

EDIT: ustaw limity odpowiednio do limitów sugerowanych przez google. Automatycznie one chyba są większe, czy coś w ten deseń, teraz akurat ci dokładnie nie powiem. Wiem że mapy mają ograniczenie do 25k wyświetleń dziennie.. I na tyle, lub nawet trochę mniej sobie ustaw. Jak nie masz karty kredytowej, lub nawet masz a się obawiasz że może ci pociągnąć z karty, to poczytaj o "karcie internetowej". Jest to coś w rodzaju pre paida, którego się doładowuje i jeżeli nie będzie kasy na takiej karcie, to ci nic nie ściągnie wink.gif
lukaszk
Na starej domenie mam kod
define(GoogleMapsKey, 'ABQIAAAAxB8iPCTfcjaENcRS1Jt9sRQ7HPCK_oV7LIyOlCws5SeZNceolxRm8NQyS6g1tEfzqzIv
GDXc7TGIjQ');

którego nie generowałem w tym koncie które posiadam i nie wiem jak go wygenerowałem i gdzie smile.gif

Może to jeszcze kod wygenerowany przed zmianą polityki jak pamiętam wówczas były on długie
by_ikar
A może to być klucz który zostawił autor klasy do obsługi tych map. Całkiem możliwe że jak się ocknął, to skasował od razu wszystkie publiczne klucze wink.gif

Tutaj masz listę na której znajdują się opłaty jakie towarzyszą api map: http://code.google.com/intl/pl-PL/apis/map...l#usage_pricing

Nie mogę znaleźć daty kiedy google zmieniło politykę odnośnie map, ale wydaje mi się że miało to miejsce 1 marca. Na prawdę wiele serwisów zrezygnowało z map od google. Niektórzy korzystają chociażby z tego: http://leaflet.cloudmade.com/ tylko nie mam zbytnio czasu aby poczytać szczegółowo i dowiedzieć się czegoś więcej na temat.
thek
Z API jest mały "wałek". API key jest bowiem wymagany jedynie dla Google Maps API V2, ale już w V3 nie jest wymagany. Od V3 bowiem dane i limity są zbierane dla konkretnej domeny z tego co kojarzę, a nie dla klucza powiązanego z domeną - jak było kiedyś. Z tymi opłatami zresztą też jest tak "płynnie". Google nie kasuje bowiem od razu jak przekroczysz limity. Jest napisane, że opłaty bedą pobierane, jeśli przekraczanie będzie nagminne, ale nie określono co pod takim pojęciem rozumieją. Może się więc okazać, że limity stopniowo będą zmniejszane, ale strona Ci się będzie łapała przez dlugi czas na "sporadyczne przekraczanie w szczycie" i dopiero po pewnym czasie zauważysz, ze nagle Ci one przestały działać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.