Frage

Ich arbeite an einer Profil-Website, die die Lage von Menschen mit Google Maps zeigt.

Ich habe Karten Google implementiert und jetzt zeigt es, wo die Person, die Sie lebt gerade betrachten und wo Sie leben.

Der Code ist hier:

  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);
        }
      }
    );
    }
  }

Was es aber nicht tut, ist die Zoomstufe ändern, wenn die 2 Plätze so weit voneinander entfernt sind sie nicht togheter auf der Karte passen. Ich weiß nicht, wie das beheben.

Der nächste Schritt ist, dass ich die Karte zeigt eine visuelle Strecke zwischen den beiden Punkten und dessen Abstand hat, wenn folgenden dass route.I've es auf der Google Maps-Website versucht, und ich weiß, dass sie diese Funktion haben. Ich kann einfach keine Dokumentation finden, wie sie umzusetzen.

Oder wäre es besser, nur einen Hyperlink zu machen, die Google Maps geht und gibt Ihnen eine vorbereitete Seite? Dass auch ich weiß nicht, wie.

War es hilfreich?

Lösung

Sie es nie getan, aber gesehen GDirections im api:

http://code.google.com/apis/maps /documentation/reference.html#GDirections

Loooks wie das, was Sie suchen.

Andere Tipps

Fügen Sie alle Punkte auf einem Polygon. Aus dem Polygon, die LatLngBounds erhalten, die verwendet werden kann, die Zoomstufe abzuleiten.

    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();
    }

Es ist in der API. Sie können es mit

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

Hier ist eine Seite, zum Beispiel der „Fahrer Richtungen“ in einem Overlay mit Blitz zeigt. Die API ist ein wenig anders, wenn man Karten außerhalb von Flash tun, aber es ist der gleiche Basiscode. http://code.google.com/apis/maps/documentation/ flash / services.html

habe ich mehr Arbeit mit MapQuest, so bin ich immer nur in die Google Maps API.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top