Javascript错误:未捕获引用错误:未定义标记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

当用户将鼠标放在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/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;