2015-01-08 2 views
0

Я пытаюсь создать демо с GWT Maps API V3 3.8.1. Моя демо просто показывает Google Map с версией API 3setCenter: не LatLng или LatLngLiteral: в свойствах lat: не число

public class MyGoogleMap implements IsWidget { 

private MapWidget map; 

private static Boolean loadingApi = false; 
private Timer apiLoadWaitTimer = null; 
private LatLng CENTER = LatLng.newInstance(47.8, -121.4); 

public MyGoogleMap(EventBus bus, String mapApiKey) { 
    this.eventBus = bus; 
    boolean sensor = true; 
    map = new MapWidget(MapOptions.newInstance()); 
    // load all the libs for use in the maps 
    ArrayList<LoadLibrary> loadLibraries = new ArrayList<LoadApi.LoadLibrary>(); 
    loadLibraries.add(LoadLibrary.ADSENSE); 
    loadLibraries.add(LoadLibrary.DRAWING); 
    loadLibraries.add(LoadLibrary.GEOMETRY); 
    loadLibraries.add(LoadLibrary.PANORAMIO); 
    loadLibraries.add(LoadLibrary.PLACES); 
    loadLibraries.add(LoadLibrary.WEATHER); 

    final AjaxLoaderOptions options = AjaxLoaderOptions.newInstance(); 

    Runnable callback = new Runnable() { 
     @Override 
     public void run() { 
      initMap(); 
      mapMenuProvider = new DefaultMapMenuProvider(); 
      mapController = new MapController(map); 
      mapController.setMenuProvider(mapMenuProvider); 
     } 
    }; 
    LoadApi.go(callback, loadLibraries, sensor); 
    } 

private void initMap() { 
    MapOptions mapOptions = MapOptions.newInstance(); 
    map = new MapWidget(mapOptions); 
    map.setCenter(CENTER); 
    } 
} 

Моим .gwt.xml содержит:

<inherits name='com.google.gwt.maps.Apis_Google_Maps' /> 
<!-- <inherits name='com.google.gwt.maps.utility.GoogleMapsUtility' /> --> 
<script src="https://maps.googleapis.com/maps/api/jsv=3&amp;key=MyGoogleAPIKey####&amp;sensor=false"/> 

Моих демонстрационные успешно показывает карту Google. Тем не менее, оператор map.setCenter(CENTER) производит следующее сообщение об ошибке

setCenter: not a LatLng or LatLngLiteral: in property lat: not a number 

Что вызывает это сообщение об ошибке?

ответ

1

Я решил проблему. Ошибка в методе initMap(). Я исправляю его как резец:

private void initMap() { 
    mapWidget.setSize("100%", "100%"); 
    mapWidget.setZoom(zoomLevel); 
    mapWidget.setCenter(CENTER); 
} 
+0

Nice снова. Поздравляем и благодарим за добавление. – statosdotcom

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