【发布时间】:2014-12-03 00:37:01
【问题描述】:
我正在使用 Google Maps API v2,我从 SharedPreferences 中获得了一个位置坐标单个字符串“-34.8799074,174.7565664”,我需要将其转换为 LatLng。
有人可以帮忙吗?
谢谢!
【问题讨论】:
标签: android google-maps-android-api-2
我正在使用 Google Maps API v2,我从 SharedPreferences 中获得了一个位置坐标单个字符串“-34.8799074,174.7565664”,我需要将其转换为 LatLng。
有人可以帮忙吗?
谢谢!
【问题讨论】:
标签: android google-maps-android-api-2
[Google Maps Android API]
可以用逗号分割字符串,然后解析成长字符串
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);
[谷歌地图 JavaScript API]
使用 Maps JavaScript API 服务执行相同的操作 (JSFiddle demo) -
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 地图经常使用的类:
LatLng location = new LatLng(latitude, longitude);
【讨论】: