Google Marker Manager未定义

时间:2011-10-18 15:05:34

标签: javascript google-maps google-maps-api-3 google-maps-markers

我试图创建一个谷歌标记管理器但是没有定义错误消息标记,我已经注释掉导致问题的代码,我将它设置为用户点击地图并放置标记,我想要它能够使用GOOGLE MARKER MANAGER

自动显示在谷歌地图上
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<div id="map_canvas" style="width:500px; height:500px;"></div>

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true">

</script>


    <script type="text/javascript">

        var map;
        var counter;
        var latlng;
        var locationAddress;
        var geocoder;
        function initialize() {
            geocoder = new google.maps.Geocoder();
            latlng = new google.maps.LatLng(46.043830, 14.488864);
            var myOptions = {
                zoom: 16,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            counter = 0;

            google.maps.event.addListener(map, 'click', function (event) {
                map.setCenter(event.latlng);
                placeMarker(event.latLng);

            });


        }

        function placeMarker(location) {
            var clickedLocation = new google.maps.LatLng(location);
            latlng = location;
            var marker = new google.maps.Marker({
                position: location,
                map: map
            });
            codeLatLng(location, marker);
        }

        function addLocationInfo(marker) {
            var infoWindow = new google.maps.InfoWindow({ content: locationAddress, size: new google.maps.Size(50, 50) });
            google.maps.event.addListener(marker, 'click', function () {
                infoWindow.open(map, marker);
            });
        }

        function codeLatLng(latlng, marker) {
            if (geocoder) {
                geocoder.geocode({ 'latLng': latlng }, function (results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        if (results[1]) {
                            locationAddress = results[1].formatted_address;
                        }
                    } else {
                        locationAddress = "Neznan naslov";
                    }
                    addLocationInfo(marker);
                });
            }
        }

//        // Create a new instance of the MarkerManager
//        var mgr = new MarkerManager(map);
//        // Create marker array
//        var markers = [];
//        // Loop to create markers and adding them to the MarkerManager
//        for (var i = 0; i < 50; i += 0.1) {
//            var marker = new GMarker(new GLatLng(59.0 + i, 13.80 + i));
//            markers.push(marker);
//        }
//        // Add the array to the MarkerManager
//        mgr.addMarkers(markers);
//        // Refresh the MarkerManager to make the markers appear on the map
//        mgr.refresh();

        $(document).ready(function () {
            initialize();
        });

    </script>

错误消息:未定义MarkerManager

1 个答案:

答案 0 :(得分:2)

您正在混合使用Google Maps API 2和API 3代码 删除v = 2参数或将其更改为v = 3(例如v = 3.5)。

改变这个: 传感器= truese 要么 sensor = true或sensor = false

删除API密钥,这只是API 2所必需的。

删除用于API 2的所有GMap2,GLatLng类型的代码,并将其全部更改为API 3语法。