使用谷歌地图和Angular JS.正在尝试将坐标存储在变量中

Using Google Maps and Angular JS. Trying to store coordinates in variable

本文关键字:坐标 存储 变量 谷歌地图 Angular JS      更新时间:2023-09-26

FYI,我是AngularJS的新手。我正在尝试将在谷歌地图中选择的标记的坐标存储在一个变量中。一旦我在地图上选择了一个点,我就可以记录坐标,但我不明白为什么$scope.map.markers在addSesh()中返回"undefined"。如果你需要进一步澄清,请告诉我。提前感谢!

angular
  .module('surfSup')
  .controller('SessionController', function($scope, $location, SessionService, CacheEngine, $rootScope) {
$scope.addSesh = addSesh;
  function addSesh () {
      $scope.sessionObjs = {
        time: $scope.time ? $scope.time.toISOString().slice(0,19) : "",
        isSurf: $scope.suppy,
        location: $scope.location
      };
      console.log("session obj", $scope.sessionObjs);
      console.log("map coords: ", $scope.map.markers);
      SessionService.addSession($scope.sessionObjs).then(function(res){
        console.log('session created', res);
        $location.path('/sessions');
    }
$scope.map = {
      center: {
          latitude: 32.7799400,
          longitude:-79.9341970
      },
      zoom: 11,
      markers: [],
      events: {
      click: function (map, eventName, originalEventArgs) {
          var e = originalEventArgs[0];
          var lat = e.latLng.lat(),lon = e.latLng.lng();
          var marker = {
              id: Date.now(),
              coords: {
                  latitude: lat,
                  longitude: lon
              }
          };
          $scope.map.markers.push(marker);
          console.log('MARKERS:', $scope.map.markers);
          window.glow = $scope.map.markers;
          $scope.$apply();
      }
  }
  };

(信息不足),但尝试在日志行$scope.maps中设置断点,并在chrome dev工具中进行检查。查看是否不仅$scope.maps.markers未定义,而且$scope.maps(也可能未定义)。然后回溯。