我正在使用Google Maps API v2,从我的SharedPreferences获取一个包含位置坐标的字符串“-34.8799074,174.7565664”,我需要将其转换为LatLng。 有人可以帮忙吗? 谢谢!
[Google Maps Android API]
您可以通过逗号分隔字符串,然后将字符串解析为long类型。
String[] latlong = "-34.8799074,174.7565664".split(",");
double latitude = Double.parseDouble(latlong[0]);
double longitude = Double.parseDouble(latlong[1]);
构造具有给定纬度和经度坐标的 LatLng。LatLng location = new LatLng(latitude, longitude);
[Google Maps JavaScript API]
若要使用Maps JavaScript API服务执行相同操作(JSFiddle演示) -
var latlong = '-34.397,150.644'.split(',');
var latitude = parseFloat(latlong[0]);
var longitude = parseFloat(latlong[1]);
var mapOptions = {
zoom: 8,
center: {lat: latitude, lng: longitude}
};
首先,您需要在逗号上拆分字符串:
String[] latLng = "-34.8799074,174.7565664".split(",");
这将为您提供两个 String
变量,您需要解析为双精度浮点数,因为 LatLng
构造函数接受位置的纬度和经度的两个双精度浮点数:
double latitude = Double.parseDouble(latLng[0]);
double longitude = Double.parseDouble(latLng[1]);
最后,补充前面的回答,你需要将这些放入一个LatLng
对象中,该类是Google Maps经常使用的类:
LatLng location = new LatLng(latitude, longitude);
String convert = "-34.8799074,174.7565664";
Location location = new Location(convert);
LatLng location2 = new LatLng(location.getLatitude(),location.getLongitude());