简单的Google Maps v3 Marker无法显示在正确的位置

时间:2015-04-24 18:19:15

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

我想在this location(巴基斯坦伊斯兰堡)上展示一个标记,并且有坐标33.732877, 73.091717

这是Google示例中的简单代码。但是这显示了不同国家/地区的标记:(我也尝试撤消Lat Lon

<style>
            html, body, #map-canvas {
                height: 100%;
                margin: 0px;
                padding: 0px
            }
        </style>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
        <script>
            function initialize() {
                var myLatlng = new google.maps.LatLng(-33.7332739, 73.0911567);
                var mapOptions = {
                    zoom: 4,
                    center: myLatlng
                }
                var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

                var marker = new google.maps.Marker({
                    position: myLatlng,
                    map: map,
                    title: 'Hello World!'
                });
            }

            google.maps.event.addDomListener(window, 'load', initialize);

        </script>
    </head>
    <body>
        <div id="map-canvas"></div>
    </body>

奇怪的是,为什么它没有指向该位置。

2 个答案:

答案 0 :(得分:1)

尝试替换您的代码:

  

var myLatlng = new google.maps.LatLng(-33.7332739,73.0911567);

用这个:

  

var myLatlng = new google.maps.LatLng(33.732889,73.091667);

此演示:link

   function initialize() {
            var myLatlng = new google.maps.LatLng(33.732889, 73.091667);
            var mapOptions = {
                zoom: 20,
                center: myLatlng
            }
            var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

            var marker = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title: 'Hello World!'
            });
        }

        google.maps.event.addDomListener(window, 'load', initialize);

答案 1 :(得分:0)

我想this is你想要什么,对吗?

您需要new google.maps.LatLng(33.732877, 73.091717);而不是-33.7332739, 73.0911567

Google地图中的地理坐标系统的工作原理如下:
纬度和经度表示为浮点数,它是一个度数 北部和东部为正,而南部和西部则为负数。

根据您给出的代码,正如@Blauharley所提到的,纬度数为负数,表示位置位于地球的南部,而您的愿望位置位于北部。

此外,您输入的经度与公司的经度不同。即使它只有0.0005603的差异,它们相距53米。

希望这有帮助:)