私はAndroidモバイルのボタンをクリックすることでgpsトラッカーデバイスを追跡できるアプリケーションを作成しています。ボタンに応答して、緯度と経度、およびデバイスの速度を含むsimカード応答を含むgpsデバイスをクリックしました。デバイスから送信されたメッセージは、私の携帯電話の受信トレイで受信されます。その緯度と経度をグーグルマップまたは少なくとも何らかの住所形式に変換したいのですが、誰かが私に適切な方法を提案したり、それを行う方法のヒントを教えてもらえますか?
質問する
1843 次
2 に答える
0
私があなたに役立つと思う2つの方法があります。
すでに持っているGPS座標を使用して、マップインテントを開き、apをそれらの緯度と経度の中央に配置します。
緯度と経度の近くの住所を提供するサードパーティのAPIを使用して、希望どおりに使用します。
注:これらは両方ともインターネットの許可が必要です。最初のものもマップAPIキーを持っている必要がありますが、これはこれら2つの中で簡単な解決策ですが、どちらも比較的簡単なはずです。
于 2012-06-06T16:57:20.273 に答える
0
以下のコードを使用して、現在地の座標と都市名を取得します
private class myLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location location) {
if(location!=null){
locManager.removeUpdates(locListener);
String longitude = "Longitude: " +location.getLongitude();
String latitude = "Latitude: " +location.getLatitude();
String altitiude = "Altitiude: " + location.getAltitude();
String cityName;
Geocoder gcd = new Geocoder(getBaseContext(), Locale.getDefault());
public List<Address> addresses= gcd.getFromLocation (double latitude1, double longitude1, int maxResults)
List<Address> addresses;
try {
addresses = gcd.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (addresses.size() > 0)
System.out.println(addresses.get(0).getLocality());
cityName=addresses.get(0).getLocality();
} catch (IOException e) {
e.printStackTrace();
}
showLocation.setText("City Name: "+cityName+"+ "\n"+longitude + "\n" + latitude + "\n" + altitiude);
progress.setVisibility(View.GONE);
}
}
次に、このコードを使用して都市名または場所の値を使用してgmapを取得できます
public void getMap(String location) {
map_location = "geo:0,0?q=" + location;
Uri geoUri = Uri.parse(map_location);
Intent mapCall = new Intent(Intent.ACTION_VIEW, geoUri);
}
または、この例を確認して少し助けを求めることもできます
それでも問題が発生する場合はお知らせください
于 2012-06-06T17:08:51.837 に答える