8

円の半径または円の中心から円の端までの線を (度単位の正確な座標で) 描く方法を探しています。

出来ますか?どのように?

現在、地図の中心からAPIで円を描いています。役に立たないと思います...

私がすることの例: http://twitpic.com/aq40vv

var sunCircle = {
          strokeColor: "#c3fc49",
          strokeOpacity: 0.8,
          strokeWeight: 2,
          fillColor: "#c3fc49",
          fillOpacity: 0.35,
          map: map,
          center: latlng,
          radius: 1500
        };
        cityCircle = new google.maps.Circle(sunCircle)
4

3 に答える 3

9

これを試してください(これがあなたが求めたものかどうかはわかりません)

HTML:

<div id="map_canvas"></div>​

JS:

var map;
var latlng = new google.maps.LatLng(-34.397, 150.644);
function initialize() {
    var mapOptions = {
        center: latlng,
        zoom: 9,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var el=document.getElementById("map_canvas");
    map = new google.maps.Map(el, mapOptions);

    var marker = new google.maps.Marker({
        map: map,
        position: latlng
    });

    var sunCircle = {
        strokeColor: "#c3fc49",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#c3fc49",
        fillOpacity: 0.35,
        map: map,
        center: latlng,
        radius: 15000 // in meters
    };
    cityCircle = new google.maps.Circle(sunCircle)
    cityCircle.bindTo('center', marker, 'position');
}
initialize();

デモ

参照 : こここれも役に立ちます。

于 2012-09-02T00:56:05.697 に答える
2

ドキュメントで参照されているように、これに最適なのは名前空間のcomputeOffset(from:LatLng, distance:number, heading:number, radius?:number)関数ですgoogle.maps.geometry.spherical

そこから、それ自体の半径をオフセットとして円の中心からポリラインを作成するだけです。ここで作成した簡単な例を確認できます(マップの周りをクリックして動作を確認するだけです)。

于 2012-09-02T00:48:00.990 に答える