将String转换为LatLng

Mak*_*oto 15 android google-maps-android-api-2

我正在使用Google Maps API v2,我从我需要转换为LatLng的SharedPreferences中获取位置坐标单个字符串"-34.8799074,174.7565664".

有人可以帮忙吗?

谢谢!

dis*_*ame 37

[Google Maps Android API]

您可以用逗号分割字符串,然后将字符串解析为long

String[] latlong =  "-34.8799074,174.7565664".split(",");
double latitude = Double.parseDouble(latlong[0]);
double longitude = Double.parseDouble(latlong[1]);
Run Code Online (Sandbox Code Playgroud)

构造具有给定纬度和经度坐标的LatLng

LatLng location = new LatLng(latitude, longitude);
Run Code Online (Sandbox Code Playgroud)

[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}
  };
Run Code Online (Sandbox Code Playgroud)


edw*_*ard 13

首先,您需要在逗号上拆分字符串:

String[] latLng = "-34.8799074,174.7565664".split(",");
Run Code Online (Sandbox Code Playgroud)

这将为您提供两个String变量,您将要将其解析为双精度,因为LatLng构造函数需要两个双精度来获取位置的纬度和经度:

double latitude = Double.parseDouble(latLng[0]);
double longitude = Double.parseDouble(latLng[1]);
Run Code Online (Sandbox Code Playgroud)

最后,添加到上一个答案,然后您将要将这些放入一个LatLng对象,该对象是Google Maps经常使用的类:

LatLng location = new LatLng(latitude, longitude);
Run Code Online (Sandbox Code Playgroud)