2011-08-16 6 views
0

JavaScriptにはかなり新しく、基本的なAPIや関数を探していて、文字列値としてアドレスを入力できます。そのアドレスの緯度。私はDBに一連のアドレスを持っており、それぞれの経度と緯度の値を追加したいと思います。JavaScriptまたはPHPを使用してアドレスから経度と緯度を返す基本的なAPI

おかげ

+0

私はあなたが郵便様式のアドレスを意味していると思います。 – Bojangles

+0

[道路上の住所の緯度と経度をプログラムで(法的に)取得する方法](http://stackoverflow.com/questions/158474/how-to-obtain-longitude-and-latitude-for-a-ストリートアドレス - プログラマチック - および - l) – Gordon

答えて

1

は、それはすべての詳細を返すPHP

<?php 
$address ="1600+Amphitheatre+Parkway,+Mountain+View,+CA"; 
$url ="http://maps.googleapis.com/maps/api/geocode/xml?address=".$address."&sensor=false"; 
$getAddress = simplexml_load_file($url); 
print"<pre>"; 
print_r($getAddress); 
?> 

を使用した例を下回る検索以下のように緯度/経度を取得する必要があります。

<?php 
print"<pre>"; 
print_r((string)$getAddress->result->geometry->location->lat); echo "<br />"; 
print_r((string)$getAddress->result->geometry->location->lng); 
?> 

詳細について下のリンクをクリックしてください:

http://code.google.com/apis/maps/documentation/geocoding/

+0

ありがとうございます完璧に動作します。 – aHunter

0
function GetLatLong($address){ 
    $myKey = 'Get key from google api v2 '; 
     $URL = "http://maps.google.co.uk/maps/geo?q=" . urlencode($address) . "&output=xml&key=".$myKey; 
     $xml = simplexml_load_file($URL); 
     $status = $xml->Response->Status->code; 
     if ($status=='200') 
     { //address geocoded correct, show results 
      foreach ($xml->Response->Placemark as $node) 
      { // loop through the responses 
       $address = $node->address; 
       if(strpos($address,'USA') || strpos($address,'usa')) 
       { 
        $quality = $node->AddressDetails['Accuracy']; 
        $coordinates = $node->Point->coordinates; 
        return (explode(',',$coordinates)); 
       } 
      } 
     } 
    } 

このAPIは、唯一の米国と英国のアドレスのために動作します。アドレスは '+'で区切る必要があり、スペースを入れないでください。 このコードは、アメリカ合衆国の座標のみを解析しています。あなたの要求に応じてコードを修正してください

関連する問題