0

我可以看到我无法在属性中指定 gmap 标记。我想我需要在这个标签内使用 a4j 函数。问题是我对这些东西完全是新手......谁能告诉我该怎么做?一步一步的解决方案将不胜感激...我有 api 键和地图组件(使用 lat 和 lng、缩放等)但需要在地图的中心留下一个标记...

<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 maps API以了解加载地图的所有可能方式。

于 2010-03-20T15:55:32.977 回答