我正在使用GWT 2.4和gwt-maps.jar創建MapWidget並將其置於具有各種控件的面板中的項目。這一切工作正常。從GWT使用Google Maps v3繪圖管理器
我想讓我的用戶能夠在地圖上繪製折線,並使用折線中的getLength方法來確定繪製的折線的長度。我之前在ActionScript中做過這件事,它在頸部有點疼痛(特別是最後一次點擊點和鼠標之間的橡皮筋),我希望不必再這樣做。
繪圖管理器看起來可能很適合(至少對於繪圖部分),但它在API的v3中,而gwt-maps.jar代碼僅在v2。所以我想我可能會寫一些JavaScript和使用JSNI,沿着線的東西從GWT調出(在wibble.html - 我的頂級HTML文件):
var dM = new google.maps.drawing.DrawingManager(...
function showDM(map) {
dM.setMap(map);
dM.setOptions({
drawingControl: true
});
然後(在Wobble.java) :
private MapWidget map = new MapWidget(...
private native void showIt(final MapWidget map) /*-{
$wnd.showDM(map);
}-*/;
我試圖傳遞MapWidget及其同行,但在這兩種情況下調用的setMap當我得到一個無效值錯誤。
有沒有人試過(併成功)做到這一點或我是否在錯誤的樹上出現?
感謝,
SO
我也一直在摔跤。 問題是,如果GWT生成一個'MapWidget',那麼JavaScript無法從它獲取'Map'。雖然如果JavaScript創建了一個Map,那麼它不能被GWT用作MapWidget。 –