Я начинаю использовать мастер стиля Google, и мне было интересно узнать, можно ли покрасить улицы (например: локальная улица) в разных цветах по определенной области. Я был бы очень благодарен, если бы вы могли сказать мне, как это сделать в Android 2.2.Мастер стиля Google
ответ
Вам нужно будет определить файл json
, чтобы создать свою карту, определяющую функции, которые вы хотите стилизовать, и стили (в примере я устраиваю местные дороги с красным цветом).
style_json.json
[
{
"featureType": "road.local",
"elementType": "geometry",
"stylers": [
{
"color": "#ff0000"
}
]
}
]
Затем вам нужно будет применить стиль к карте:
MapsActivity.java
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.style_json));
}
}
Here вы можете найти свой стиль Справка.
Учтите, что согласно the documentation стилизация работает только на тип карты normal
.
Также обратите внимание, что этот стиль применяется ко всей карте. Вы не можете, например, использовать местные дороги в красном для США и синие для Европы из коробки, но вы можете эмулировать это поведение, используя OnCameraIdleListener
и моделируя карту с различными json
файлами на основе CameraPosition
(target
, zoom
, bearing
, zoom
). Например (укладка дорог местного значения с помощью R.raw.style_json
если latitude > 40.4
и используя R.raw.style_json2
иначе):
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, GoogleMap.OnCameraIdleListener {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
this.mMap = googleMap;
mMap.setOnCameraIdleListener(this);
LatLng ll1 = new LatLng(40.4, -3.7);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ll1, 17));
}
@Override
public void onCameraIdle() {
if (mMap.getCameraPosition().target.latitude > 40.4) {
mMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.style_json));
} else {
mMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.style_json2));
}
}
}
- 1. Управление масштабированием стиля Google Maps
- 2. Google Script: Получение атрибутов стиля
- 3. Переключить Google элементы карты стиля
- 4. Asp.Net Загрузка файла стиля Google
- 5. Мастер-слайдер Отслеживание событий Google Analytics
- 6. MySQL задержка мастер мастер репликации
- 7. Добавление стиля в Angular2 Карты Google
- 8. Контроль стиля Google Finance для Java?
- 9. Google Map стиля взлетно-посадочная полоса
- 10. Содержимое стиля внутри Google Custom Search iFrame?
- 11. Изменение стиля .css для google reCaptcha
- 12. Google maps api revert изменение стиля значка
- 13. Конфигурирование стиля C++ Google в CLII IDE
- 14. Добавление стиля в API Карт Google?
- 15. Переопределение стиля geoJSON на картах google
- 16. Создание URL-адресов стиля google с .htaccess
- 17. Меню пользовательского стиля для скриптов Google Apps
- 18. Google Таблицы. Запрос для создания «Мастер-сводки» на другом листе, когда мастер-лист установлен в состояние.
- 19. Улучшение стиля строки стиля C
- 20. Почему мастер-мастер игнорирует переменную окружения PORT?
- 21. ! [Дистанционный отвергнута] Мастер -> Мастер (права)
- 22. ejabberd кластера: Multi-мастер или мастер-ведомый
- 23. Форма стиля светофорного стиля
- 24. Настройка стиля экрана стиля
- 25. Свойство стиля элемента стиля -
- 26. Страницы RapidWeaver для мастеров стиля
- 27. создать мастер
- 28. Мастер-страница
- 29. Мастер UserControl
- 30. Мастер установки