Я хочу создать приложение для Android, которое использует карты Google. Я использовал Google Maps APIs Styling Wizard и создал json-файл. Какие изменения я должен внести в код моего приложения (андроид-студия), чтобы применить изменения?Styling a google map
1
A
ответ
1
После карты готовы, можно применить изменения стиля в OnMapReady
@Override
public void onMapReady(GoogleMap map) {
mMap = map;
setMapStyle();
}
private void setMapStyle() {
MapStyleOptions style = new MapStyleOptions("[" +
" {" +
" \"featureType\":\"poi.business\"," +
" \"elementType\":\"all\"," +
" \"stylers\":[" +
" {" +
" \"visibility\":\"off\"" +
" }" +
" ]" +
" }," +
" {" +
" \"featureType\":\"transit\"," +
" \"elementType\":\"all\"," +
" \"stylers\":[" +
" {" +
" \"visibility\":\"off\"" +
" }" +
" ]" +
" }" +
"]");
mMap.setMapStyle(style);
}
Проверьте эти ссылки: MapStyleOptions, GoogleSamples
2
Добавление пользовательского стиля на карте Google очень легко. Проверьте приведенный ниже код.
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;
try {
// Customise the styling of the base map using a JSON object defined
// in a raw resource file.
boolean success = mMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
MapsActivity.this, R.raw.style_json));
if (!success) {
Log.e("Map", "Style parsing failed.");
}
} catch (Resources.NotFoundException e) {
Log.e("Map", "Can't find style.", e);
}
}
}
Создать имя папки raw под res/folder. Скопируйте и вставьте json из мастера api-моделирования google-карт в файл style_json и добавьте его в необработанную папку. Это оно. Стиль будет применяться. Проверьте это example.
1
создать внутри res/ справочник под названием необработанный. в сыром создается файл name.json и поместить JSON из Google Maps APIs Styling Wizard внутри него
в onMapReady (GoogleMap Googlemap) метод поставить этот код
googleMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.name.json));
и это все :)