2011-08-26 20 views
7

都市と半径を指定すると、都市の近くにすべての都市と半径を返すJavaアプリケーションを作成しようとしています。私はGoogle Maps APIでこれを行うことができると考えていましたが、Places APIで運が上がらず、興味のあるポイント(レストランなど)が返されます。 Google APIでこれを行う方法はありますか、またはあなたがお勧めするいくつかの他のAPI(またはこれを行う方法)がありますか?Google Places APIを使用して特定の場所に近い都市を取得する

答えて

2

Places APIを使用したくない可能性があります。ジオコーディング/逆ジオコーディングを使用して必要なものを取得する方法があるかどうかを確認したい場合があります。 http://code.google.com/apis/maps/documentation/geocoding/を参照してください。

パフォーマンスと精度の要件によっては、Google Maps API(またはその他の無料ツール)で簡単に(特にグローバルに)行うことができない場合がありますが、特に、物事を簡素化する地理的な制限(例えば、米国のみ)がある場合には有効です。

3

私はあなたにものcURL要求を行うことができあなたはとGeoNames.org APIのfile_get_contents以外Google MapsのジオコーディングAPIを組み合わせることにより、すべての近所の都市を検索することを可能にするコードスニペットを書きました)。

/* 
* Get cities based on city name and radius in KM 
*/ 

// get geocode object as array from The Google Maps Geocoding API 
$geocodeObject = json_decode(file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address={CITY NAME},{COUNTRY CODE}'), true); 

// get latitude and longitude from geocode object 
$latitude = $geocodeObject['results'][0]['geometry']['location']['lat']; 
$longitude = $geocodeObject['results'][0]['geometry']['location']['lng']; 

// set request options 
$responseStyle = 'short'; // the length of the response 
$citySize = 'cities15000'; // the minimal number of citizens a city must have 
$radius = 30; // the radius in KM 
$maxRows = 30; // the maximum number of rows to retrieve 
$username = '{YOUR USERNAME}'; // the username of your GeoNames account 

// get nearby cities based on range as array from The GeoNames API 
$nearbyCities = json_decode(file_get_contents('http://api.geonames.org/findNearbyPlaceNameJSON?lat='.$latitude.'&lng='.$longitude.'&style='.$responseStyle.'&cities='.$citySize.'&radius='.$radius.'&maxRows='.$maxRows.'&username='.$username, true)); 

// foreach nearby city get city details 
foreach($nearbyCities->geonames as $cityDetails) 
{ 
    // do something per nearby city 
} 

のAPIのは、APIの訪問の詳細については

次のURLの限られているので、あなたの要求量に気をつけ可能:

+1

この質問が重複していると思われる場合は、そのようにフラグを立ててください。答えとして、他のStack Overflow投稿へのリンクを投稿しないでください。 – JAL

+0

申し分なく、よかった!私はどこにでも私の答えを投稿すれば重複した答えとしてマークされるかもしれないと思った...私は答えを編集し、別の投稿にリンクしない√ – 0x1ad2

関連する問題