2011-10-09 226 views
2

我想给谷歌地图中某个地方留下印记。 但是我觉得Google Map的标记并不准确。谷歌地图经度和纬度

例如,让我们尝试在Google地图中使用Marker的白宫。 白宫位于38°53'51.54“N和77°2'8.40”W的谷歌地球基础上。

我将其转换为纬度38.535154和经度-77.2840

所以我创造了这个代码:

var company = new google.maps.LatLng(38.535154, -77.2840); 
    var marker; 
    var map; 

    function initialize() { 
    var latlng = new google.maps.LatLng(38.535154, -77.2840); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 

    marker = new google.maps.Marker({ 
     map:map, 
     draggable:true, 
     animation: google.maps.Animation.DROP, 
     position: company 
     }); 
     google.maps.event.addListener(marker, 'click', toggleBounce); 

    } 

然而,当我打开我的浏览器,我的标记是在华盛顿的西南。 enter image description here

所以我的问题是:

  1. 是谷歌地图纬度&经度是有点关闭(不符合 谷歌地球同步),或者是有什么错我的转换还是我 代码?

  2. 如果说谷歌地球长&经纬度是错误的,是否有 方式直接从谷歌地图知道经度和纬度?

+0

嗯,我不知道如何转换。如果我知道,我不会问。 – Rudy

回答

10

你的转换是不正确的。一度是60分钟,一分钟是60秒。因此38°53'51.54“N为38°+ 53°/ 60°+ 51.54°/ 3600°,其结果为38,89765°,而不是38.535154°经度也是如此

+0

准确。你不能在一分一秒的坐标对中取出标点符号,并期望它能正常工作。 – ceejayoz

+0

@madhead,谢谢! – Rudy

1

回答第二部分问题:是的,有一种方法可以从谷歌地图中获得纬度坐标

打开谷歌地图,点击右上角的小图标并选择“地图实验室” 向下滚动到“LatLng标记”并启用它并保存 返回地图在任何想要找到坐标的位置上单击鼠标右键,然后从上下文菜单中选择“Drop LatLng Marker”,您甚至可以从出现的标记中复制坐标值:通过快速点击三次来标记坐标文本,复制,通过TE。

更新:

要使用你必须使用谷歌地图古典上述技术。目前(2013/11)提供的新Google地图作为选项提供,但尚未包含任何实验室工具。如果您已经切换到新的地图,它可以让您暂时(或永久)切换回经典版本。