私が取り組んでいるプロジェクトでは、家のいくつかのブロックを色付きのオーバーレイで区切る必要があります。
問題は、これらのブロックのパス座標がないため、それらを生成する必要があることです。
マウス クリックからパスを構築するコードを書くことから始め、パスの周囲をクリックしました。しかし、ズームインすると、道が不安定であるか、あるズームでは道路に近く、別のズームでは遠くにあることに気付きました。
次に、方向 API を使用して次のようなパスを生成しました。
var path = [],
poly,
service = new google.maps.DirectionsService(),
google.maps.event.addListener(map, 'click', function(evt) {
if (path.length == 0) {
path.push(evt.latLng);
poly = new google.maps.Polyline({ map: map });
poly.setPath(path);
} else {
service.route({
origin: path[path.length - 1],
destination: evt.latLng,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
path = path.concat(result.routes[0].overview_path);
poly.setPath(path);
}
});
}
});
これは、道路にスナップするパスを作成するのに非常にうまく機能します。
ただし、このデータを使用してポリゴンを生成すると、ポリゴンは実際には道路の上にあります。
オーバーレイまたは道路の zIndex を設定するか、別のパス生成方法を使用して、オーバーレイが道路を覆うのを防ぐ方法はありますか。
ヘルプや指示をいただければ幸いです。
みんなありがとう!