Как добавить маркер в компонент rich: gmap? - PullRequest
0 голосов
/ 20 марта 2010

Я вижу, что не могу указать маркер gmap в атрибуте. Полагаю, мне нужно использовать функцию a4j внутри этого тега. Проблема в том, что я новичок в этом деле ... Может кто-нибудь сказать мне, как это сделать? пошаговое решение будет высоко оценено ... У меня есть ключ API и компонент карты (работали с широтой и шириной, с увеличением и т. д.), но мне нужно оставить маркер в центре карты ...

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

Я считаю, что есть простой способ сделать это ...

UPDATE:

<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>

1 Ответ

1 голос
/ 20 марта 2010

Например:

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

, а затем (в блоке JavaScript ниже определения <rich:gmap>)

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

Вы должны взглянуть на API карт Google для всех возможных способов загрузки вашей карты.

...