【问题标题】:Convert String to LatLng将字符串转换为 LatLng
【发布时间】:2014-12-03 00:37:01
【问题描述】:

我正在使用 Google Maps API v2,我从 SharedPreferences 中获得了一个位置坐标单个字符串“-34.8799074,174.7565664”,我需要将其转换为 LatLng。

有人可以帮忙吗?

谢谢!

【问题讨论】:

标签: android google-maps-android-api-2


【解决方案1】:

[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}
  };

【讨论】:

  • 与其他答案不同,这并不能说明 LatLng 是一个类
  • @Muz 我已经用更多细节和用法示例更新了答案。
【解决方案2】:

首先你需要用逗号分割字符串:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多