JSNI を使用して、アプリケーション内に Google マップを表示しようとしています。index.html ページでスクリプトを定義しました。
以下は、uibinder の定義です (要点のみ抜粋):
<g:HTMLPanel ui:field="mapboxV3ContentPanel">
<!-- div for display of the actual map -->
<div id="map"><!-- --></div>
</g:HTMLPanel>
これが initializeMap() ネイティブ関数です。
private native void initializeMap() /*-{
var latLng = new $wnd.google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latLng,
mapTypeId: $wnd.google.maps.MapTypeId.ROADMAP
};
var mapDiv = $doc.getElementById('map');
if (mapDiv==null) {
alert("MapDiv is null!");
}
var map = new $wnd.google.maps.Map(mapDiv, mapOptions);
}-*/;
残念ながら、mapDiv は null です。そこに何か助けはありますか?
gwt-maps および gwt-maps-v3 プロジェクトを認識しています。1 つ目は API の v2 のみをサポートし、gwt-maps-v3 は機能しないため、JSNI アプローチを使用します。