Вопрос о стране или других особенностей границ в Google Maps API, был задан вопрос много раз, однако, к сожалению, Google не раскрывает эти данные публично.
Чтобы выделить страну, вы должны применить свои данные в качестве уровня Google Maps. Хорошая работа вокруг была предложена в следующем ответе
https://stackoverflow.com/a/40172098/5140781
Вы можете скачать границы стран в формате GeoJSON от OSM. После этого вы можете использовать API Android Google Maps Utility Library, чтобы добавить GeoJsonLayer в ваше приложение.
Для моего примера я загрузил границы Испании в формате GeoJSON и загрузил файл GeoJSON с помощью GeoJsonLayer.
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, не забудьте изменить ключ API в значениях/google_maps_api.xml
https://github.com/xomena-so/so41431384
Я надеюсь, что это помогает !
Связанный: http://stackoverflow.com/questions/2931281/open-local-kml-file-in-google-maps-on-android –