3

如何使用最新版本的GMaps.js更改我在代码中设置的图钉图标?

这是我正在尝试做的事情:

$('input[name="Address"]').blur(function () {
    GMaps.geocode({
        address: $('input[name="Address"]').val(),
        callback: function (results, status) {
            if (status == 'OK') {
                var latlng = results[0].geometry.location;
                map.setCenter(latlng.lat(), latlng.lng());
                map.addMarker({
                    lat: latlng.lat(),
                    lng: latlng.lng(),
                    icon: {
                        image: "http://i.imgur.com/12312.png"
                    }
                });
            }
        }
    });
});

运行此脚本时,Firebug 的控制台中会出现以下错误:

"NetworkError: 404 Not Found - http://localhost:17680/Account/undefined"

"NetworkError: 404 Not Found - http://localhost:17680/Account/undefined"

我不明白为什么它会尝试 HTTP GET 该 URL,因为我从未在代码中的任何地方调用过它。

4

1 回答 1

5

更改标记上的图标非常简单。

如果您阅读文档,请注意它说:

此外,createMarker 接受 google.maps.MarkerOptions 中定义的任何选项和 google.maps.Marker 中定义的任何标记事件(“事件”部分)。

如果您阅读 Google文档,只需拨打以下电话:

icon: "some-url-here"

就我而言,它是:

$('input[name="Address"]').blur(function () {
    GMaps.geocode({
        address: $('input[name="Address"]').val(),
        callback: function (results, status) {
            if (status == 'OK') {
                var latlng = results[0].geometry.location;
                map.setCenter(latlng.lat(), latlng.lng());
                map.addMarker({
                    lat: latlng.lat(),
                    lng: latlng.lng(),
                    icon: "/images/mapicon.png"
                });

                $('input[name="Longitude"]').val(latlng.lng());
                $('input[name="Latitude"]').val(latlng.lat());
            }
        }
    });
});
于 2012-11-12T14:57:58.727 回答