2

私はグーグルマップを使用している人々の場所を示すプロフィールウェブサイトに取り組んでいます。

私はグーグルマップを実装しました、そして今それはあなたが見ている人がどこに住んでいて、あなたがどこに住んでいるかを示します。

コードはここにあります:

  var map = null;
  var geocoder = null;

  function initialize() {
    if (GBrowserIsCompatible()) {
      map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GScaleControl());
      map.addControl(new GMapTypeControl());
      geocoder = new GClientGeocoder();
    }
  }

  function showAddresses(address1,address2) {
    if (geocoder) {
      geocoder.getLatLng(
        address1,
        function(point) {
          if (!point) {
            alert(address1 + " not found");
          } else {
            map.setCenter(point, 13);
            var marker = new GMarker(point);
            map.addOverlay(marker);
            marker.openInfoWindowHtml(address1);
          }
        }
      );

      geocoder.getLatLng(
      address2,
      function(point) {
        if (!point) {
          alert(address2 + " not found");
        } else {
          map.setCenter(point, 13);
          var marker = new GMarker(point);
          map.addOverlay(marker);
        }
      }
    );
    }
  }

ただし、2つの場所が離れている場合は、ズームレベルを変更して、地図に収まらないようにします。それを修正する方法がわかりません。

次のステップは、2つのポイント間の視覚的なルートと、そのルートをたどるときの距離を地図に表示させたいということです。Googleマップサイトで試してみましたが、この機能があることはわかっています。実装方法に関するドキュメントが見つかりません。

それとも、グーグルマップに行き、準備されたページを提供するハイパーリンクを作成する方が良いでしょうか?それも方法がわかりません。

4

3 に答える 3

2

すべてのポイントを Polygon に追加します。Polygon から、ズーム レベルを取得するために使用できる LatLongBounds を取得します。

    private function setMapZoomLevelBasedOnPlottedPoints(polygonPoints:Array):void
    {
        var pointBounds:LatLngBounds = getLatLongBounds(polygonPoints);
        _map.setCenter(pointBounds.getCenter());
        _map.setZoom(_map.getBoundsZoomLevel(pointBounds) - 1);
    }

    private function getLatLongBounds(polygonPoints:Array):LatLngBounds
    {
    for(var i:Number; i < polygonPoints; i++)
    {
            polygonPoints.push(polygonPoints[i] as LatLong);
    }
        var polygon:IPolygon = new Polygon(polygonPoints);
        return polygon.getLatLngBounds();
    }
于 2009-04-28T00:17:55.540 に答える
2

やったことはありませんが、API で GDirections を見ました:

http://code.google.com/apis/maps/documentation/reference.html#G行き方

あなたが探しているもののように見えます。

于 2009-03-12T22:14:12.213 に答える
0

それはAPIにあります。あなたはそれを見つけることができます

route site:http://code.google.com/apis/maps

たとえば、Flash のオーバーレイで「ドライバーのルート案内」を表示する 1 つのページを次に示します。Flash 以外でマップを作成する場合、API は少し異なりますが、基本的なコードは同じです。 http://code.google.com/apis/maps/documentation/flash/services.html

MapQuest でさらに多くの作業を行ったので、Google Maps API に取り掛かります。

于 2009-03-12T22:13:42.417 に答える