地元の名所をユーザーに見せたい。これは私のアプリの主な目標ではないので、ユーザーをGoogleプレイスやその他の位置情報ベースのアプリに送るなど、かなり単純な解決策を見つけたいと思います。
それを行う方法はありますか?答えが「いいえ」の場合、どうすればそれができますか?たぶんいくつかのAPIを使用していますか?
ありがとう
地元の名所をユーザーに見せたい。これは私のアプリの主な目標ではないので、ユーザーをGoogleプレイスやその他の位置情報ベースのアプリに送るなど、かなり単純な解決策を見つけたいと思います。
それを行う方法はありますか?答えが「いいえ」の場合、どうすればそれができますか?たぶんいくつかのAPIを使用していますか?
ありがとう
ここに記載されているAndroidの場所とマップAPIを使用できます。そうでない場合は、いつでもマップインテントを呼び出すことができますが、使用する前にGoogleマップがインストールされていることを確認する必要があります。ここLocation
にリンクされているAndroid開発ページのAPIを使用した例を次に示します。
// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
makeUseOfNewLocation(location);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
ここで、アプリケーションをgoogleAPIに登録します。APIキーを取得したら、httpリクエストを使用してhttps://maps.googleapis.com/maps/api/place/search/json?location=&radius=&types=&name=&sensor=&key=YOUR_API_KEY
。
ここのグーグルマップAPIサイトから各パラメータの定義を見つけることができますが、これは小さなリストです:
location (required) — The latitude/longitude around which to retrieve Place information. This must be provided as a google.maps.LatLng object.
radius (required) — The distance (in meters) within which to return Place results. The recommended best practice is to set radius based on the accuracy of the location signal as given by the location sensor. Note that setting a radius biases results to the indicated area, but may not fully restrict results to the specified area.
types (optional) — Restricts the results to Places matching at least one of the specified types. Types should be separated with a pipe symbol (type1|type2|etc). See the list of supported types.
language (optional) — The language code, indicating in which language the results should be returned, if possible. See the list of supported languages and their codes. Note that we often update supported languages so this list may not be exhaustive.
name (optional) — A term to be matched against the names of Places. Results will be restricted to those containing the passed name value. When a name is included, the area being searched may be broadened, to ensure a suitable number of results.
sensor (required) — Indicates whether or not the Place request came from a device using a location sensor (e.g. a GPS) to determine the location sent in this request. This value must be either true or false.
key (required) — Your application's API key. This key identifies your application for purposes of quota management and so that Places added from your application are made immediately available to your app. Visit the APIs Console to create an API Project and obtain your key.
Androidでの簡単なHTTPリクエストの例を次に示します。
HttpGet myGet = new HttpGet("https://maps.googleapis.com/maps/api/place/search/json?location=&radius=&types=&name=&sensor=&key=YOUR_API_KEY");
返された結果を取得したら、ここからgoogle-gsonなどのjsonライブラリを使用して応答を解析できます。
ライアン
あなたの質問は明確ではありませんが、あなたの質問から、私はあなたがユーザーの興味のある場所を表示したいということを知ることができます。
あなたが同じにしたいなら
1)そのポイントの緯度と経度が必要です。そのためには、任意のAPIを使用して、Webサービスからそれらを取得できます。
2)緯度と経度のリストを取得した後、アイテム化されたオーバーレイを使用してそれらを地図上に表示できます