是否可以使用javascript更改google.maps.GroundOverlay的图像?

时间:2011-06-09 11:00:31

标签: image google-maps-api-3 overlay

我正在使用Google地图获取天气信息显示网。

我想显示过去七天的云状况。

我正在使用叠加层在我的网站上显示云。

现在我的问题是我们可以使用javascript更改 google.maps.GroundOverlay 的图片吗?

3 个答案:

答案 0 :(得分:3)

目前无法通过地图API更改GroundOverlay的图像。相反,为新图像创建具有相同边界的新GroundOverlay。并删除原始的GroundOverlay。

答案 1 :(得分:3)

我认为无法更改GroundOverlay的图像。图像在构造函数中设置,目前没有记录的setter可以更改它。

你可以尝试创建两个具有相同坐标的GroundOverlay,但是在其中一个上传递构造函数map:null,这样就不会在地图上显示。然后,当您要替换图片时,请在显示的叠加层上调用setMap(null) - 这将隐藏它 - 然后调用setMap(map)(假设您将地图设置为名为{{的变量) 1}})在您要显示的叠加层上。

答案 2 :(得分:2)

自2011年起发生了变化。

在Google Maps API V3中,GroundOverlay class扩展了MVCObject,其中包含getter和setter。

因此,您确实可以使用Private Sub cmdsearch_Click() findemployee = inputtextbox.text record.Open ("select * from employees where ID='" & findemployee & "'"), conn, 3, 3 If record.EOF Then MsgBox "NO" & findemployee & " ID WAS NOT FOUND!", vbCritical + vbOKOnly, "Error Search" Set record = Nothing Else with record txtemployeeid.Text = !ID txtlnames.Text = !lastname txtfnames.Text = !Firstname txtmnames.Text = !middlename cmbgenders.Text = !gender bdates.Value = !birthdate txtbplaces = !birthplace txtages = !age txtaddress.Text = !address cmbeducattainments.Text = !educattainment txtnos.Text = !contactno cstarts.Value = !contractstart cends.Value = !contractend Set record = Nothing END WITH End If End Sub 更改地面叠加层的图像。同样,您可以使用overlay.set("url", newImage)更改叠加边界。

更改叠加层属性后,您必须使用overlay.set("bounds",bounds)将地图对象重新指定给它。