我正在创建一个应用程序,通过单击 android mobile 上的按钮,我可以跟踪 gps 跟踪器设备。响应按钮单击包含 sim 卡响应的 gps 设备及其纬度和经度以及设备的速度。设备发送的消息在我手机的收件箱中收到。我想将该纬度和经度转换为谷歌地图或至少以某种地址形式。有人可以建议我一个正确的方法或给我一些提示我该怎么做吗?
问问题
1843 次
2 回答
0
我认为有两种方法可能对您有用。
使用您已经拥有的 GPS 坐标并打开地图意图并将 ap 以经纬度为中心。
使用一些第三方 api,它将为您提供附近的纬度和经度地址,并以您想要的方式使用它。
注意:这两个都需要互联网许可。第一个还需要您拥有 maps api 密钥,但这是这两者中最简单的解决方案,但两者都应该相对容易。
于 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 回答