Javascript错误:未捕获ReferenceError:marker1未定义
我正在使用以下代码,以便在用户将鼠标放在div上时导致地图上的标记更改。标记1被初始化内definied()如下:Javascript错误:未捕获ReferenceError:marker1未定义
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是:
<div id="searchresult" onmouseover="changeMarker(marker1)">
我得到了同样的错误:未捕获的ReferenceError :marker1未定义
尝试2
我尝试添加以下行初始化()函数
var marker1;
外面,我得到的错误:未捕获的ReferenceError:谷歌没有定义
我的JavaScript不是很大,做我做某处出错了吗?
如果您在initialize()函数外部添加了var marker1;
,请确保您在initialize()函数内的marker1
的用法上没有var
。
通过将var marker1;
放在函数的外部,您将变量marker1
设置为全局作用域。如果你在initialize()函数中还包含var
,它将创建一个不同的局部变量(作用域为该函数),并且div的onmouseover
处理程序中的用法不会指向你所期望的。
此外,Google
错误可能是您已将其大写。在你的init函数中,google
是小写字母。
太棒了,Google的错误消失了!现在我得到的错误:GET http:// localhost/mysite/places/[object%20Object] 400(Bad Request) – Nyxynyx 2011-05-19 15:48:24
伟大的我解决了它!我摆脱了var图标,并直接在URL中放置了marker.setIcon()。我不知道为什么这个工程虽然... – Nyxynyx 2011-05-19 15:54:47
@Nyxynyx API文档说Marker.setIcon可以采取一个字符串或MarkerImage。我没有说这个字符串应该是一个URL,但看起来就是这样。 – Kyle 2011-05-19 16:05:32
看来你的谷歌地图JavaScript文件未正确载入,请检查现有的浏览器设置,或者在差异浏览器中尝试。 – MUS 2011-05-19 15:24:10