Javascript错误:未捕获引用错误:未定义标记1
当用户将鼠标放在div上时,我使用以下代码更改地图上的标记。在initialize()中,标记1的定义如下:Javascript错误:未捕获引用错误:未定义标记1,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,当用户将鼠标放在div上时,我使用以下代码更改地图上的标记。在initialize()中,标记1的定义如下: var marker1 = new google.maps.Marker({ position: new google.maps.LatLng(1.288693,103.846733), map: map, icon: "http://chart.apis.google.com/ch
var marker1 = new google.maps.Marker({
position: new google.maps.LatLng(1.288693,103.846733),
map: map,
icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=1|c41200|ffffff"
});
名为onmouseover的函数是:
function changeMarker(marker) {
var icon = new Google.maps.MarkerImage({ url:"http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=1|ffffff|c41200"});
marker.setIcon(icon);
}
该组为:
<div id="searchresult" onmouseover="changeMarker(marker1)">
我得到一个错误:uncaughtreferenceerror:Google没有定义
我的javascript不太好,我是不是在什么地方出错了?如果你添加了
var-marker1
在initialize()函数外部,确保initialize()函数内部没有关于marker1
用法的var
通过放置var标记1代码>在函数外部,为变量marker1
指定一个全局范围。如果在initialize()函数中还包含var
,它将创建一个不同的局部变量(作用域为函数),并且div的onmouseover
处理程序中的用法将不会指向您所期望的
另外,Google
的错误可能是你把它大写了。在你的init函数中,google
是小写的。看来你的google map JavaScript文件没有正确加载,请检查你当前的浏览器设置或在diff浏览器中尝试。太好了,google错误消失了!现在我得到了错误:得到400(错误请求)太好了,我解决了!我去掉了var-icon,并将url直接放在marker.setIcon()中。我不知道为什么会这样…@Nyxynyx API文档说Marker.setIcon可以接受字符串或MarkerImage。我并没有说字符串应该是URL,但事实似乎是这样。
var marker1;