我正在尝试使用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
答案 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