0

我有一张正在制作的地图。我是 JS 和 Map API 的新手。我找到了一个 Demo 并正在修改它以满足我的需要。
我的问题是地图有效。它以正确的位置为中心,但在初始化时不会呈现标记。但是,它会在请求行车路线时呈现标记。我已经阅读了所有内容,直到我的眼睛受伤,并且似乎仍然无法掌握在代码中放置标记的位置。当我把它放在我认为它应该去的代码中时,它不会呈现。

我有一个包含所有代码的小提琴。如果有人可以查看它并指出我应该在哪里添加标记以便它在地图初始化时呈现,那就太棒了

小提琴在这里http://jsfiddle.net/hughesjoseph/nADJK/

我试图将标记放在这个函数中,因为我相信它会呈现初始地图。

                mapSetup = function () {

                map = new google.maps.Map($Selectors.mapCanvas, {
                    zoom: 16,
                    center: new google.maps.LatLng(32.565243, -97.130531),

                    mapTypeControl: true,
                    mapTypeControlOptions: {
                        style: google.maps.MapTypeControlStyle.DEFAULT,
                        position: google.maps.ControlPosition.TOP_RIGHT
                    },

                    panControl: true,
                    panControlOptions: {
                        position: google.maps.ControlPosition.RIGHT_TOP
                    },

                    zoomControl: true,
                    zoomControlOptions: {
                        style: google.maps.ZoomControlStyle.LARGE,
                        position: google.maps.ControlPosition.RIGHT_TOP
                    },

                    scaleControl: true,
                    streetViewControl: true,
                    overviewMapControl: true,

                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });

                autoCompleteSetup();
                directionsSetup();
                trafficSetup();
            }, // mapSetup Ends 
4

1 回答 1

0

您可以在初始化map变量后立即放置一个标记,因此您的mapSetup函数将如下所示:

mapSetup = function () {
    map = new google.maps.Map($Selectors.mapCanvas, {
        zoom: 16,
        center: new google.maps.LatLng(32.565243, -97.130531),

        mapTypeControl: true,
        mapTypeControlOptions: {
            style: google.maps.MapTypeControlStyle.DEFAULT,
            position: google.maps.ControlPosition.TOP_RIGHT
        },

        panControl: true,
        panControlOptions: {
            position: google.maps.ControlPosition.RIGHT_TOP
        },

        zoomControl: true,
        zoomControlOptions: {
        style: google.maps.ZoomControlStyle.LARGE,
            position: google.maps.ControlPosition.RIGHT_TOP
        },

        scaleControl: true,
        streetViewControl: true,
        overviewMapControl: true,

        mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var marker1 = new google.maps.Marker({
        position: new google.maps.LatLng(32.565243, -97.130531),
        map: map
    });

    autoCompleteSetup();
    directionsSetup();
    trafficSetup();
}, // mapSetup Ends 

http://jsfiddle.net/nADJK/10/

于 2013-01-26T02:12:42.100 回答