2012-06-18 234 views
1

我在我的项目中使用google map API。我的代码是:谷歌地图加载静态图像

var map; 
var op = { 
    zoom: 8, 
    center: new google.maps.LatLng(-34.397, 150.644), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
map = new google.maps.Map(document.getElementById("container"), op); 

我的问题是,谷歌加载静态图像,而不是交互式地图。我也尝试

useStaticMap: false在选项中,但在使用它之后它加载没有,(没有地图,没有图像)。

请告诉我这是怎么回事?

+0

如果你提供一个链接到您的完整代码,或把它挂在的jsfiddle那么我们就可以对其进行调试。否则,我们只是猜测。 –

+0

其实我的JavaScript代码太长,这是它的一部分,我提供了一个设施给我的用户添加地图。所以我只是从用户输入(城市名称和使用地理编码我会得到latlag),但目前我硬编码这个拉特兰从例子。所以当用户点击添加地图按钮时,调用该函数并添加地图。但是一个静态的,我想交互式 –

+0

所以它不应该给你静态只有你给我们显示的代码。因此,在页面的其他部分发生了一些事情。也许你可以摘录一部分演示该问题并发布该问题的代码。否则,你要求我们调试一些我们看不到的东西,因为你发布的部分看起来是正确的。我不会那样做。 –

回答

2

当你说静态地图时,这意味着你不能缩放,平移等。自从我使用谷歌地图以来,这已经有一段时间了,但是我记得你可以提供启用缩放和平移的设置。尝试启用这些功能,而不是使用静态地图。或者相反,也许你已经禁用了它们。

我想它也可能是你所包含的javasscript文件。此外,有两个API,看起来你可以有两个不同的API密钥。也许你有静态的。所以这里有三种不同的选择。很可能其中之一是这个问题,因为代码非常小,看起来对我来说很好。

API V3

https://developers.google.com/maps/documentation/javascript/tutorial

静态地图

https://developers.google.com/maps/documentation/staticmaps/

我会尝试增加一个控制。或者也许给我们多一点你的代码。

添加控件到地图

您可能希望通过删除,添加或修改用户界面行为或控件调整您的界面,并确保未来的更新不会改变这种行为。如果您只想添加或修改现有的行为,则需要确保该控件明确添加到您的应用程序中。

默认情况下,某些控件会显示在地图上,而其他控件则不会显示,除非您专门请求它们。从地图下面的地图选项对象的字段中指定,其中设置为true添加或删除控制使它们可见或设置为false来隐藏他们:

{ 
    panControl: boolean, 
    zoomControl: boolean, 
    mapTypeControl: boolean, 
    scaleControl: boolean, 
    streetViewControl: boolean, 
    overviewMapControl: boolean 
} 

下面的例子地图隐藏设置导航(缩放和平移)控制并显示比例控制。请注意,我们没有明确禁用默认用户界面,因此这些修改是添加到默认用户界面行为中的。

function initialize() { 
    var myOptions = { 
    zoom: 4, 
    center: new google.maps.LatLng(-33, 151), 
    panControl: false, 
    zoomControl: false, 
    scaleControl: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
} 

以下是对代码的参考。

https://developers.google.com/maps/documentation/javascript/controls

+1

等一下?你投了我的票?请问为什么? – wavedrop

+0

如果我没有错,投票你的人想告诉你,这不是一个写故事或新颖的东西的地方。不要介意只回答你的问题:) – gaurav

+1

他提供了7行代码,它们的格式良好,虽然看起来我是在黑暗中拍摄的,但实际上并没有太多的信息需要去做,更不用说了我正在努力帮助。如果他想要银盘上的答案,我不认为我应该被拒绝。我写了一本小说吗?无论哪种方式不要这么无礼粗鲁,特别是当你要求帮助时。哪里的爱,哪里的礼节。 – wavedrop

2

150.644,-34.397,这个坐标不存在

+0

所以只是想知道。是这个问题吗? – wavedrop

+1

原文有-34.397,150.644,这是正确的。 @wavedrop,latitude对象必须首先出现纬度。纬度从-90到90,所以Damax发布的方式是经度/纬度。 –