写一段代码,在Androidstudio中用Java语言访问指定URL中的geojson,将geojson解析后绘制在地图上
时间: 2023-05-12 13:03:01 浏览: 61
可以使用以下代码实现:
```
private void loadGeoJsonFromUrl(String url) {
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
try {
URL url = new URL(url);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
urlConnection.disconnect();
return stringBuilder.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String geoJson) {
if (geoJson != null) {
GeoJsonLayer layer = new GeoJsonLayer(map, new JSONObject(geoJson));
layer.addLayerToMap();
}
}
}.execute();
}
```
这段代码使用了 AsyncTask 来异步加载指定 URL 中的 geojson 数据,并使用 Google Maps Android API 中的 GeoJsonLayer 类将数据绘制在地图上。