在Google Maps for Android中突出显示整个国家/地区

Gil*_*rra 3 android google-maps google-maps-android-api-2

参考:

在Google地图中突出显示整个国家/地区

我正试图在Google Maps Android应用程序中返回用户所选国家/地区的位置.

这样的东西,但在Android谷歌地图.有可能在android中执行此操作吗?

离线可以这样做吗?

在此输入图像描述

xom*_*ena 13

Google Maps API中有关国家/地区或其他功能边界的问题曾被多次询问,但遗憾的是,Google并未公开披露此数据.

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

/sf/answers/2812046891/

您可以从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());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以从github下载完整的示例项目,不要忘记更改值/ google_maps_api.xml中的API密钥

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

在此输入图像描述

我希望这有帮助!