Autor Zpráva
blahapet
Profil
Dobrý den,
chystám se vytvořit server s realitními inzeráty a potřeboval bych, aby se na stránkách po vložení inzerátu zobrazovala mapka od Google v ifrejmu s místem prodeje (pronájmu) objektu, tak jak dotyčný zadal ulici, číslo ppopisné a město, jestli mi rozumíte.

Nejdřív jsem to zkoušel řešit po amatérsku odkazem, což by fungovalo, např.:

https://www.google.cz/maps/place/ulice čp město

... ale potřeboval bych mít zkrátka u inzerátu mapku v ifrejmu a ne samotný odkaz.

Moc se omlouvám, v tomto oboru se moc nevyznám a předem děkuji za veškeré rady.
mimochodec
Profil
http://i.nahraj.to/f/W5U.jpg
Keeehi
Profil
A pokud to nenajdete vlevo nahoře podle toho obrázku od mimochodce stejně jako já (novější layout google map), tak to pak hledejte v pravém dolním rohu. Je tam ozubené kolečko jako typicky z nastavení a v něm položka "sdílet nebo vložit mapu". Pak už to jistě zvládnete.
blahapet
Profil
To ano, ale já ty údaje budu ukládat do databáze (ulice, čp, město) a pak to potřebuju z ní dosadit ke každému inzerátu zvlášť. Rozumíme si?
Keeehi
Profil
Nějak jsem zapomněl, že mapy nejde tak úplně vkládat přímo. No nic, zde je návod developers.google.com/maps/documentation/embed/guide

V krátkosti:
-zaregistrujete se u googlu a tím získáte svůj identifikátor (api key)
-a pak už jen používáte následující kód
<iframe width="600" height="450" frameborder="0" style="border:0"
  src="https://www.google.com/maps/embed/v1/place?key=API_KEY&q=vase+hledana+adresa">
</iframe>
Čím se to liší od standardního maps/place je to vložené embed/v1 a klíč. To embed povoluje vkládání do iframe a klíčem se identifikujete. Jinak je to to samé jako byste maps/place vložil pčímo do toho iframe.
blahapet
Profil
Díky moc za rady.
API klíč jsem sice získal, ale jelikož je to pro mne vše tak trochu španělská vesnice, vůbec netuším, zda se musí na stránkách ještě něco vkládat, další věc nastavení serveru, jestli to bude fungovat všude (zkouším to na localhostu - Wampserver).

Při pokusu mi to v IFRAME vyhodilo hlášku:

The Google Maps API server rejected your request. This API project is not authorized to use this API. Please ensure that this API is activated in the APIs Console: Learn more: https://code.google.com/apis/console

Na výše zmíněných stránkách jsem nic nepostřehl, kde mám svůj API autorizovat. Ještě jednou se omlouvám, jestli jsem slepej.
Keeehi
Profil
Ten klíč je vlastně váš identifikátor. A k němu se dají různé služby zapínat a vypínat.

Nevím, co viíte vy, ale já po kliknutí na ten odkaz a přihlášení vidím následující obrazovku.
img.djpw.cz/dub.png
blahapet
Profil
Děkuju moc, právě ten poslední krok jsem vůbec nevěděl, kde mám udělat. Nicméně jsem přišel na další problém, a sice že některou adresu to zobrazí a některou ne, viz zde: http://www.vvservis.cz/kontakt/

Jsou tam dvě mapky, na první z nich je jako parametr q uveden: Veverkova 1343 Hradec Králové, což jako adresu firmy bez problémů našlo. Do druhé mapky jsem zkoušel dávat svou vlastní adresu: Národních mučedníků 263 Hradec Králové a jetam jen "celej svět".

Zkoušel jsem to dávat i s číslem orientačním, PSČ a taky nic. Pak mě to napadlo ještě dát ve stylu:

Národních+mučedníků+263%2F19,+500+08+Hradec+Králové,+Česká+republika

... a zase nic.
Keeehi
Profil
blahapet:
Já vidím obě dvě v pořádku.

Nicméně o parametru q se píše v dokumentaci toto:
q defines the place to highlight on the map. It accepts a location as either a place name or address. The string should be URL-escaped, so an address such as "City Hall, New York, NY" should be converted to City+Hall,New+York,NY. (The Google Maps Embed API supports both + and %20 when escaping spaces.)

a
q specifies the search term. It can include a geographic restriction, such as in+Seattle or near+98033.

Tudíž jako obsah tam může být vlastně cokoli co normálně cpete do vyhledávacího políčka mapy a jste s tím spokojený. No a forma by měla být validní url. Jestli ty vaše jsou nebo ne, to se mi nechce zjišťovat (i když velmi pravděpodobně nejsou ale jak vidno, v některých případech to nemusí vadit, ovšem spolehnout se na to nedá). Takž bych to prohnal přes urlencode a měl jistotu.
<?php echo urlencode('Národních mučedníků 263 Hradec Králové')?>
blahapet
Profil
Díky, ale bohužel, já ne: http://www.vvservis.cz/error.jpg (i po fci urlencode a i z různých PC i prohlížečů)

Zkoušel jsem jednak zadávat různé adresy např. z http://www.firmy.cz/?geo=0&q=autoservis

Některé to našlo, některé ne.


Tak a pokud zadám do qéčka tu ulici bez diakritiky tak to funguje i bez urlencode(). Takže to ošetřím ještě fcí strtr() a bude.

Moc díky za pomoc!


Takže ještě jednou: parametr q neakceptuje znaky v adrese: š č ř ž ň a možná i další.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0