无法使用Lat& amp;放置标记在GWT地图中Lng - map.addOverlay中的空指针异常(标记)

时间:2010-06-02 12:20:56

标签: gwt google-maps nullpointerexception

我正在尝试为GWT-Map添加多个标记。如果我使用地理编码器,它可以正常工作...但我也从数据库中获取值,所以我可以通过Lat Lng放置它们。

这就是代码:

public static void markerSetzen(final double lat, final double lon) {
    /* Markeroptionen setzen */
    MarkerOptions markeroptions = MarkerOptions.newInstance();
    markeroptions.setBouncy(true);
    markeroptions.setBounceGravity(0.3);


    final Marker marker = new Marker(LatLng.newInstance(lat, lon),
            markeroptions);

    map.addOverlay(marker);
    marker.addMarkerClickHandler(new MarkerClickHandler() {

        @Override
        public void onClick(MarkerClickEvent event) {
            // popup- Fenster erstellen
            map.getInfoWindow().open(
                    LatLng.newInstance(lat, lon),
                    new InfoWindowContent(image + name + "<br>" + ort
                            + "<br>" + kategorie + "<br><br>"
                            + beschreibung + "<br>" + web));

        }
    });
}

map.addOverlay()始终抛出异常。我检查db中返回的双精度数 通过syso,他们很好......

我希望有人可以提供帮助,

提前致谢

编辑:这是地理编码方法的代码,它可以实现我的目标:

public static void koordSuchen(final double lat, final double lon,
        final String ort, final String image, final String name,
        final String kategorie, final String beschreibung,
        final String web, final int zoomlevel) {
    // Geokodierung von Adressen herausbekommen
    Geocoder geocoder = new Geocoder();
    geocoder.getLatLng(ort, new LatLngCallback() {

        @Override
        public void onSuccess(LatLng point) {
            final LatLng ortKoord = LatLng.newInstance(lat, lon);
            // neuen Marker erstellen
            Marker marker = new Marker(ortKoord);
            // neues Marker- Overlay erstellen
            map.addOverlay(marker);
            // Marker Klickhandler erstellen (Bei klick auf Marker oeffnet
            // sich ein Popup)
            marker.addMarkerClickHandler(new MarkerClickHandler() {

                @Override
                public void onClick(MarkerClickEvent event) {
                    // popup- Fenster erstellen
                    map.getInfoWindow().open(
                            ortKoord,
                            new InfoWindowContent(image + name + "<br>"
                                    + ort + "<br>" + kategorie + "<br><br>"
                                    + beschreibung + "<br>" + web));

                }
            });
        }

        @Override
        public void onFailure() {
        }
    });
}

1 个答案:

答案 0 :(得分:0)

map.addOverlay()是示例代码中变量map的第一个实例。您确定map已初始化吗?