0

私は住所を取得し、住所がGoogleマップに表示されるデータベース駆動型のサイトを持っています。これは、Google マップの埋め込みを含む文字列です。ロケーターの緯度はわかりませんが、住所と地域はわかります。場所が表示されません。

<?php  $add = $row_rsDoc['Address'];
$address = str_replace(" ","+",$add);
$gtown = str_replace(" ","+",$row_rsDoc['Town']);
$gprov = str_replace(" ","+",$row_rsDoc['Province']);

$googlestr=$address.','.'+'.$gtown.','.'+'.$gprov;
echo $googlestr;
?>
<th width="446" class="entry" scope="col"><iframe width="441" height="243" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.za/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=<?php echo $googlestr; ?>&amp;aq=&amp;sll=-26.178375,28.033719&amp;ie=UTF8&amp;hq=&amp;hnear=&amp;radius=15000&amp;t=m&amp;output=embed"></iframe><br />
4

2 に答える 2

0

住所をジオコーディングして経度/緯度を取得し、マーカーとオーバーレイを使用してマーカーを Google マップに埋め込む必要があります。これを行う方法の優れた例が、静的マーカーの適用方法とジオコーディング方法の両方の Google マップ ドキュメントにあります。

プロセスは次のようになります。

住所の追加 -> ジオコードのリクエスト -> 返された long/lat を db に保存 -> マップの読み込み時に ajax を介して php ページにコールバックし、マップ上にマークする long/lats の配列を返します。

それはまさに私が行う方法であり、無料ユーザーに対するリクエストが制限されているため、Google API に対して実行する必要がある実際のクエリの数を最小限に抑えます。実際のコードが必要な場合は、まさにこれを行うアプリの 1 つからコピーして貼り付けることができることをお知らせください。

于 2013-03-21T07:57:35.813 に答える
0

str_replace()useを使用する代わりに( urlencode()urlencode()のドキュメントを参照)

また、URL に場所の座標を含めています。これを使用してみてください:

<th width="446" class="entry" scope="col"><iframe width="441" height="243" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.za/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=<?php echo $googlestr; ?>&amp;aq=&amp;ie=UTF8&amp;output=embed"></iframe><br />
于 2013-03-21T07:59:56.517 に答える