在 java 中,如何将文本形式的 SQL 空间数据多边形转换为 PolgonOptions 对象?
In java, how do I convert SQL Spatial Data polygon in text form to a PolgonOptions Object?
从网络服务中,我获取了一个字符串格式的多边形,如下所示:
POLYGON ((20.073517049032215 30.063606371213439, ... ,20.073517049032215 30.063606371213439))
我想访问其中的所有经纬度点,并在 Android 中将其绘制在 GoogleMap 上,如下所示:
map.addPolygon(new PolygonOptions()
.add(new LatLng(20.073517049032215, 30.063606371213439), ... ,new LatLng(53.558, 9.927))
我的意思是我可以以某种方式遍历字符串并将所有 LatLng 对象排序到一个数组中,但是是否有 "cleaner" 方法来实现此目的?
对于可能需要此功能的任何其他人,这是一个狡猾的解决方法。不过,我会尝试更改网络服务。
ArrayList<LatLng> polylist = new ArrayList<>();
String[] parts = news.getArea().replace("POLYGON ((","").replace("))","").split("(?<!\\), ");
for(String part : parts){
String[] subpart = part.split(" ");
polylist.add(new LatLng(Double.parseDouble(subpart[1]), Double.parseDouble(subpart[0])));
}
PolygonOptions polygonOptions = new PolygonOptions();
for(LatLng latLng : polylist){
polygonOptions.add(latLng);
}
map.addPolygon(polygonOptions);
从网络服务中,我获取了一个字符串格式的多边形,如下所示:
POLYGON ((20.073517049032215 30.063606371213439, ... ,20.073517049032215 30.063606371213439))
我想访问其中的所有经纬度点,并在 Android 中将其绘制在 GoogleMap 上,如下所示:
map.addPolygon(new PolygonOptions()
.add(new LatLng(20.073517049032215, 30.063606371213439), ... ,new LatLng(53.558, 9.927))
我的意思是我可以以某种方式遍历字符串并将所有 LatLng 对象排序到一个数组中,但是是否有 "cleaner" 方法来实现此目的?
对于可能需要此功能的任何其他人,这是一个狡猾的解决方法。不过,我会尝试更改网络服务。
ArrayList<LatLng> polylist = new ArrayList<>();
String[] parts = news.getArea().replace("POLYGON ((","").replace("))","").split("(?<!\\), ");
for(String part : parts){
String[] subpart = part.split(" ");
polylist.add(new LatLng(Double.parseDouble(subpart[1]), Double.parseDouble(subpart[0])));
}
PolygonOptions polygonOptions = new PolygonOptions();
for(LatLng latLng : polylist){
polygonOptions.add(latLng);
}
map.addPolygon(polygonOptions);