4

このデモを見る

ドキュメントでは、boundsパラメーターの説明は次のとおりです。

指定された境界にマップを合わせます。式は、北東と南西の両方のプロパティを持つオブジェクトに解決される必要があります。これらの各プロパティには、緯度と経度のプロパティが必要です

範囲内に境界を設定します。

$scope.bd = {
  northeast: {
    latitude: 51.219053,
    longitude: 4.404418
  },
  southwest: {
    latitude: -51.219053,
    longitude: -4.404418
  }
}

そして、次のようにディレクティブで使用しました:

<ui-gmap-google-map bounds="bd" center="map.center" zoom="map.zoom" draggable="true" options="options"></ui-gmap-google-map>

しかし、効果がないようです..マップは指定された境界に適合していません..境界パラメーターが機能していないということですか? そして、指定された境界に合うようにマップを作成する方法は?

4

1 に答える 1

2

境界の代わりにセンターとズームを使用しないのはなぜですか?

とにかく、私はいくつかのテストを行っていましたが、中心、ズーム、および境界がディレクティブ内にあるため、それらは非同期にロードされ、中心とズームが必要であるため、境界は影響を受けません。

変更されなかった後に値を設定しても(理由がわからない)

http://plnkr.co/edit/YdyYIiVVgApA2tpm11Xn?p=preview

setTimeout(function(){
  var map = $scope.instance.getGMap();
  console.log(map);
  console.log(map.getBounds());



$scope.bd = {
  northeast: {
    latitude: 51.219053,
    longitude: 4.404418
  },
  southwest: {
    latitude: -51.219053,
    longitude: -4.404418
  }
}

                    ne = new google.maps.LatLng($scope.bd.northeast.latitude, $scope.bd.northeast.longitude);
            sw = new google.maps.LatLng($scope.bd.southwest.latitude, $scope.bd.southwest.longitude);
            bounds = new google.maps.LatLngBounds(sw, ne);
map.fitBounds(bounds);



}, 2000);
于 2015-03-12T18:36:12.527 に答える