我已经设置了一些多边形,把它们绘制在地图上就好了。点击时我也设法触发console.log。但是,如何确定哪个多边形实际被点击?如何获取点击多边形的引用? (谷歌地图api v3)
正如你可以在我的示例代码中看到的那样,我将每个对象存储在集合“lot”中,但是 - 单击它们只会给我点击的经纬度。我想我可能需要循环通过我的多边形,并检查点被点击是否相交,从而找出它是哪个多边形...有没有更简单的解决方案?
var lot = new google.maps.Polygon({
paths: me.area,
strokeColor: 'black',
strokeOpacity: 0.35,
strokeWeight: 1,
fillColor: fillcol,
fillOpacity: 0.35
});
lot.setMap(map);
var obj = {
'id':me.id,
'rented':me.rented,
'area':lot
};
google.maps.event.addListener(lot, 'click', function(event) {
console.log(event);
});
lots.push(lot);
原来的getPath()的工作就像一个魅力。 我没有意识到我实际上已经获得了点击事件传递的多边形引用,为了将其与我存储的“批次”匹配,我只是通过存储的批次循环,并将this.getPath与other.getPath进行比较,如果它们匹配,我就知道哪个批次被点击,现在可以显示与这个特定对象有关的信息。 – Bisa
您可能必须等待几个小时才能让网站允许您这样做,但如果可以的话,您应该将其作为答案发布。 – Trott