2017-02-19 53 views
1

我在我的CN1應用程序中使用了一張地圖。爲了在我的表單中注入地圖,我使用這種類型:如何在Codename One API下設計Google Map?

MapContainer mapContainer = new MapContainer(); 

我的應用只能在IPad選項卡上運行。我可以正確查看我的Google地圖。但我需要設計這張地圖。使用Javascript我可以這樣做:

var styles = [ 
    { 
     featureType: "administrative.country", 
     elementType: "labels", 
     stylers: [ { color: '#f24547' } ] 
    } 
]; 

map = new google.maps.Map(document.getElementById('map'), { 
    center: navigationData.googlePosition, 
    zoom: 15 
}); 
map.setOptions({ styles: styles }); 

我怎麼能在我的CN1 java代碼中做同樣的事情?

在此先感謝。

回答

1

您不能像Codename One那樣更改原生Google地圖的樣式,但您可以設置地圖類型,縮放級別,中心位置和當前位置。

MapContainer mapContainer = new MapContainer(); 
mapContainer.setMapType(MapContainer.MAP_TYPE_HYBRID); 
mapContainer.setShowMyLocation(true); 
LocationManager lm = LocationManager.getLocationManager(); 
Location loc = lm.getLastKnownLocation(); 
if (lm.isGPSDetectionSupported()) { 
    if (lm.isGPSEnabled()) { 
     Location loc2 = lm.getCurrentLocationSync(20000); 
     if (loc2 != null) { 
      loc = loc2; 
     } 
    } else { 
     Dialog.show("", "MyAppName needs access to your current location, please enable GPS in Settings.", "Ok", null); 
    } 
} else { 
    Location loc2 = lm.getCurrentLocationSync(20000); 
    if (loc2 != null) { 
     loc = loc2; 
    } 
} 
mapContainer.zoom(new Coord(loc.getLatitude(), loc.getLongitude()), 15); 
+1

對於完整性我還提到,你可以用叉子叉[谷歌地圖代號一個端口(https://github.com/codenameone/codenameone-google-maps/)和做款式變化有 –