複数のポリゴンについてGoogleマップのインフォウィンドウを取得するにはどうすればよいですか? 複数のポリゴンを取得することはできますが、ポリゴンごとにインフォメーションウィンドウとポリゴンの中央情報ウィンドウを表示するのに問題があります。Googleマップ - 複数のポリゴンのインフォウィジェット
jsfiddle:https://jsfiddle.net/ow8kb0vn/
var editedPolygons = [
[
[
{
"lat":14.56754606924714,
"lng":120.99225461483002
},
{
"lat":14.567213783453319,
"lng":120.9916752576828
},
{
"lat":14.566736121747363,
"lng":120.99207758903503
}
],
{
"color":"green",
"title":"---------------------------------------info content green"
}
],
[
[
{
"lat":14.566383066777853,
"lng":120.99221169948578
},
{
"lat":14.566325954891425,
"lng":120.99138557910919
},
{
"lat":14.565635419093956,
"lng":120.9915840625763
},
{
"lat":14.565635419093956,
"lng":120.9925840625763
}
],
{
"color":"red",
"title":"----------------------------------------------info content red"
}
]
];
var map;
function initialize() {
var mapProp = {
center: new google.maps.LatLng(14.5667, 120.9927),
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
for (var i = 0; i < editedPolygons.length; i++) {
var poly = new google.maps.Polygon({
\t fillColor: editedPolygons[i][1].color,
\t \t strokeWeight: 2,
path: editedPolygons[i][0],
map: map
});
\t \t var infowindow = new google.maps.InfoWindow({
\t \t \t content: editedPolygons[i][1].title
\t \t \t });
\t \t poly.addListener('click', function() {
\t \t \t infowindow.open(map, poly);
\t \t \t });
}
}
google.maps.event.addDomListener(window, "load", initialize);
html, body, #googleMap {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry,drawing&ext=.js"></script>
<div id="googleMap"></div>
ありがとうございますが、もう1つ質問あります。ポリゴンの中のクリック/テーピングされた場所にinfowindowを表示するには? – akuljana
イベントのlatLngを使用してください。 – geocodezip
**私は** infoWindow.setPosition(event.latLng)**を試してみましたが、運はありません。どのようにあなたのソリューションからこれを取得するには? – akuljana