2017-01-25 1 views
0

Я пытаюсь создать тепловую карту с помощью google api, но столкнулся с небольшой проблемой.Проблема с литьем при попытке создать HeatMap с использованием Google API на студии android

Вот код образца:

mProvider = new HeatmapTileProvider.Builder() 
        .weightedData((Collection<WeightedLatLng>) weightedList) 
        .gradient(gradient); 
     mOverlay = mMap.addTileOverlay(new TileOverlayOptions().tileProvider((TileProvider) mProvider));// this is the line of code that produces the error 
    } 

В частности, аргумент "mProvider" в этой строке будет выделен.

Журнал ошибки:

java.lang.ClassCastException: com.google.maps.android.heatmaps.HeatmapTileProvider$Builder cannot be cast to com.google.android.gms.maps.model.TileProvider 

Я застрял на эту проблему на некоторое время и был бы очень признателен на некоторые рекомендации о том, как решить эту проблему.

Заранее благодарен!

+0

http://stackoverflow.com/questions/14784841/tileprovider-using-local-tiles – siva35

ответ

0

Вы забыли позвонить по телефону .build().
Как будто вы хотите построить автомобиль и сделать Car car = new CarFactory().type(SEDAN).color(BLACK); и забыть сообщить carFactory, чтобы построить автомобиль. Это приводит к тому, что вы пытаетесь присвоить carFactory переменной Car.
Ваш код должен выглядеть следующим образом:

mProvider = new HeatmapTileProvider.Builder() 
       .weightedData((Collection<WeightedLatLng>) weightedList) 
       .gradient(gradient) 
       .build(); //missing this line 
+0

Спасибо! Это сработало. – HorribleCoder

 Смежные вопросы

  • Нет связанных вопросов^_^