我正在创建一个应用程序,通过单击android mobile上的按钮,我可以跟踪gps跟踪器设备。响应按钮,点击了包含SIM卡响应的gps设备及其纬度和经度以及设备的速度。设备发送的消息在我的手机收件箱中收到。我想将这个纬度和经度转换为谷歌地图或至少以某种地址形式。可以有人建议我一个正确的方法或者给我一些提示我该如何做到这一点?
答案 0 :(得分:0)
我认为有两种方法对你有用。
使用您已有的GPS坐标并打开地图意图,并将ap放在那些纬度和长度上。
使用一些第三方api,它会为您提供纬度和经度的附近地址,并以您想要的方式使用它。
注意:这两项都需要互联网许可。第一个也需要你有地图api键,但这是这两个中的简单解决方案,但两者都应该相对容易。
答案 1 :(得分: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);
}
}
然后您可以使用此代码
使用城市名称或位置值获取gmappublic 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);
}
甚至您可以查看this示例以获得一些帮助
让我知道你是否还有麻烦