2017-04-07 117 views
-2

我试图在点击时更改Google地图多边形fillColor。 这里是我的代码=>https://jsfiddle.net/nw6j52f6/使用javascript更改多边形fillColor(谷歌地图)

这里是代码的问题部分。 应该改变多边形的设计功能:

function polyopt(i) { 
setOptions({ 
    strokeColor: '#FF0000', strokeOpacity: 0.8, 
    strokeWeight: 3, fillColor: '#FF0000', fillOpacity: 0.35 
}); 
} 

但控制台返回此错误:

map-array.html:56 Uncaught ReferenceError: setOptions is not defined 
at polyopt (map-array.html:56) 
at HTMLInputElement.onclick (map-array.html:69) 

我使用谷歌地图API https://developers.google.com/maps/documentation/javascript/reference#PolygonOptions

,但我不明白为什么控制台显示此错误。如果多边形是

+0

你在哪里调用'polyopt'功能,和你有什么传递给它? – duncan

+0

https://jsfiddle.net/nw6j52f6/ 这是整个代码。我在74行调用polyopt函数

+0

'onclick =“polyopt()”' - 您不会传递任何参数给该函数可用于确定要更改的多边形。 – duncan

回答

0

i必须使用i.setOptions

function polyopt(i) { 
    i.setOptions({ 
    strokeColor: '#FF0000', strokeOpacity: 0.8, 
    strokeWeight: 3, fillColor: '#FF0000', fillOpacity: 0.35 
}); 
+0

同样的错误: 遗漏的类型错误:在HTMLInputElement.onclick(地图array.html:63) :无法读取性能在polyopt的不确定 “setOptions”(51地图array.html) –

+0

似乎已经不确定的,而不是一个有效的多边形..你myst通过一个有效的多边形在var(i)..检查你的代码,你创建多边形和调用funcion – scaisEdge

+0

我有5个多边形在阵列 var layers = []; layers [1] = new google.maps.KmlLayer({url:'http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml', map:gmap}); layers [2] = new google.maps.KmlLayer({url:'http://***.com/testovoo.kml', map:null}); –