0

私が取り組んでいるプロジェクトでは、家のいくつかのブロックを色付きのオーバーレイで区切る必要があります。

問題は、これらのブロックのパス座標がないため、それらを生成する必要があることです。

マウス クリックからパスを構築するコードを書くことから始め、パスの周囲をクリックしました。しかし、ズームインすると、道が不安定であるか、あるズームでは道路に近く、別のズームでは遠くにあることに気付きました。

次に、方向 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 を設定するか、別のパス生成方法を使用して、オーバーレイが道路を覆うのを防ぐ方法はありますか。

ヘルプや指示をいただければ幸いです。

みんなありがとう!

4

1 に答える 1

0

いくつかの調査の結果、これは Maps API の制限であることがわかりました。ルート案内 API を使用すると、道路上にパスが描画されます。それについてはあまりできません。:(

于 2013-08-12T07:16:45.240 に答える