google.maps.MarkerShape未加载

时间:2012-06-12 15:47:53

标签: google-maps-api-3

我正在尝试使用google maps api(最后一个版本,3.9.2)创建一个MarkerShape对象。不幸的是,似乎没有加载MarkerShape api:这是firebug的控制台告诉我的:

  

>>> google.maps.version

     

“3.9.2”

     

>>> google.maps.MarkerShape

     

未定义

我做错了吗? MarkerShape的gmaps文档的最新版本位于:https://developers.google.com/maps/documentation/javascript/reference#MarkerShape

THX

编辑:这是关于jsfiddle:http://jsfiddle.net/vszHk/6/的示例,或者只是转到像https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple这样的官方示例并打开firebug

2 个答案:

答案 0 :(得分:8)

我认为您的问题是您正在尝试将google.maps.MarkerShape视为构造函数。它只是一个对象,而不是构造函数。

因此,执行类似以下的内容是错误的,因为google.maps对象中没有MarkerShape方法:

var marker_shape = new google.maps.MarkerShape(); 

要创建MarkerShape,您只需创建一个对象文字:

var marker_shape = {coords: [0,0,50,50], type: "rect"}

然后,您可以将其添加到传递给google.maps.Marker构造函数的对象文字中。例如

marker = new google.maps.Marker({
    position: lat_lng_object,
    map: map,
    shape: marker_shape
});

答案 1 :(得分:1)

鉴于3.9.2是最新的Nightly版本,您是否尝试引用较旧的更稳定版本,例如3.9.1或3.8(最新发布版本)

https://developers.google.com/maps/documentation/javascript/basics#Versioning

e.g。 http://maps.googleapis.com/maps/api/js?v=3.8&sensor=false