gpt4 book ai didi

android - 在 Android 版 Google map 中突出显示整个国家/地区

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:23 26 4
gpt4 key购买 nike

引用:

Highlight whole countries in Google Maps

我正在尝试返回用户在 Google map Android 应用程序中选择的国家/地区的位置。

类似的东西,但在 Android 谷歌地图中。是否有可能在 android 中执行此操作?

是否可以离线执行此操作?

enter image description here

最佳答案

谷歌地图 API 中有关国家或其他功能边界的问题已被多次询问,但不幸的是,谷歌并未公开这些数据。

要突出显示国家/地区,您应该将自己的数据应用为 Google map 图层。在以下答案中提出了很好的解决方法

https://stackoverflow.com/a/40172098/5140781

您可以从 OSM 下载 GeoJSON 格式的国家边界。之后您可以使用 Google Maps Android API Utility Library添加GeoJsonLayer在您的应用程序中。

在我的示例中,我下载了 GeoJSON 格式的西类牙边界,并使用 GeoJsonLayer 加载了 GeoJSON 文件。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;

mMap.getUiSettings().setZoomControlsEnabled(true);

LatLng madrid = new LatLng(40.416775,-3.70379);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(madrid, 3F));

try {
GeoJsonLayer layer = new GeoJsonLayer(mMap, R.raw.es_geojson, getApplicationContext());

GeoJsonPolygonStyle style = layer.getDefaultPolygonStyle();
style.setFillColor(Color.MAGENTA);
style.setStrokeColor(Color.MAGENTA);
style.setStrokeWidth(1F);

layer.addLayerToMap();

} catch (IOException ex) {
Log.e("IOException", ex.getLocalizedMessage());
} catch (JSONException ex) {
Log.e("JSONException", ex.getLocalizedMessage());
}
}
}

你可以从github下载完整的示例工程,不要忘记修改values/google_maps_api.xml中的API key

https://github.com/xomena-so/so41431384

enter image description here

希望对您有所帮助!

关于android - 在 Android 版 Google map 中突出显示整个国家/地区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41431384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com