2016-10-19 4 views
1

Я хочу создать приложение для Android, которое использует карты Google. Я использовал Google Maps APIs Styling Wizard и создал json-файл. Какие изменения я должен внести в код моего приложения (андроид-студия), чтобы применить изменения?Styling a google map

ответ

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)); 

и это все :)