0

atribute で gmap マーカーを指定できないことがわかります。このタグ内で a4j 関数を使用する必要があると思います。問題は、私がこのようなことの完全な初心者であることです...誰かがこれを行う方法を教えてもらえますか? ステップバイステップのソリューションは大歓迎です... APIキーとマップコンポーネント(緯度と経度、ズームなどで動作)がありますが、マップの中央にマーカーを残す必要があります...

<rich:gmap gmapVar="map" id="map" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw"

それを行う簡単な方法があると思います...

アップデート:

<a4j:form>
    <rich:gmap gmapVar="mapVar" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw" lat="55.658471" lng="12.59084" mapType="G_NORMAL_MAP" zoom="12">
    </rich:gmap>
    <script type="text/javascript">
          window.onload = function() {
             mapVar.addOverlay(new GMarker(50, 12));
         }
    </script>
</a4j:form>

これは喜びではありません。すべてをプログラムで実行しようとしましたが、それでも喜びはありません。マーカーが表示されますが、毎回(私の座標に関係なく)左上隅に表示されます。プログラムコードは次のとおりです。

<head>
    <title>map</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw"
            type="text/javascript"></script>
    <script type="text/javascript">
        function initialize() {
            if (GBrowserIsCompatible()) {
                var map = new GMap2(document.getElementById("map_canvas"));
                map.setCenter(new GLatLng(37.4419, -122.1419), 13);
                map.setUIToDefault();
                map.addOverlay(new GMarker(38, -130));
            }
        }
    </script>
</head>
<body onload="initialize()" onunload="GUnload()">
    <div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>

助けてください。

更新 2: map.jsp ファイルの本文:

<f:view>
    <html xmlns="http://www.w3.org/1999/xhtml">
        <body>
            <a4j:form>
                <rich:gmap id="mapVar" gmapVar="mapVar" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw" lat="55.664515" lng="12.579517" mapType="G_NORMAL_MAP" zoom="12">
                </rich:gmap>
                <script type="text/javascript">
                    window.onload = function() {
                        mapVar.addOverlay(new GMarker(new GLatLng(55.658471, 12.59084)));
                    }
                </script>

            </a4j:form>
        </body>
    </html>
</f:view>
4

1 に答える 1

1

例えば:

<rich:gmap var="mapVar" ... />

そして (javascript ブロック内の の定義の下<rich:gmap>)

window.onload = function() {
    mapVar.addOverlay(
        new GMarker(new GLatLng(#{yourBean.lat}, #{yourBean.lng})));
}

マップをロードするすべての可能な方法については、Google マップ APIを参照してください。

于 2010-03-20T15:55:32.977 に答える