Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-根据所选项目从JSON更改google maps指令的范围_Javascript_Json_Angularjs_Google Maps - Fatal编程技术网

Javascript AngularJS-根据所选项目从JSON更改google maps指令的范围

Javascript AngularJS-根据所选项目从JSON更改google maps指令的范围,javascript,json,angularjs,google-maps,Javascript,Json,Angularjs,Google Maps,我之前从这里得到了一个答案,关于如何基于所选项目填充json表单的详细信息 请看这里的一个例子,我正在努力实现 如何根据列表组中选定的项目更改Google maps指令中的纬度和经度值 这就是我到目前为止所做的: html: 1-指令中的lat和lon必须来自以下范围: 在控制器中: $scope.position = {}; $scope.position.lat =-31.9543365;//initializing your map with this position

我之前从这里得到了一个答案,关于如何基于所选项目填充json表单的详细信息

请看这里的一个例子,我正在努力实现

如何根据列表组中选定的项目更改Google maps指令中的纬度和经度值

这就是我到目前为止所做的:

html:


1-指令中的lat和lon必须来自以下范围:

在控制器中:

     $scope.position = {};
     $scope.position.lat =-31.9543365;//initializing your map with this position
     $scope.position.lon = 115.894217;
在你的指示中:

     link: function (scope, element, attrs) {
              var lat = scope.position.lat*1; // you must use * 1 , because they come from an object in your controller so javascript thinks they are Strings , not floats:p

              var lon = scope.position.lon*1;
              var myLatLng = new google.maps.LatLng(lat, lon);
            .
            .                
            .
再次在控制器中:

            $scope.select = function(item){
              $scope.position.lat = item.latitude;  
              $scope.position.lat = item.longitude;
              $scope.selected = item;
            }

我认为应该这样做

1-指令中的lat和lon必须来自以下范围:

在控制器中:

     $scope.position = {};
     $scope.position.lat =-31.9543365;//initializing your map with this position
     $scope.position.lon = 115.894217;
在你的指示中:

     link: function (scope, element, attrs) {
              var lat = scope.position.lat*1; // you must use * 1 , because they come from an object in your controller so javascript thinks they are Strings , not floats:p

              var lon = scope.position.lon*1;
              var myLatLng = new google.maps.LatLng(lat, lon);
            .
            .                
            .
再次在控制器中:

            $scope.select = function(item){
              $scope.position.lat = item.latitude;  
              $scope.position.lat = item.longitude;
              $scope.selected = item;
            }

我认为应该这样做

1-指令中的lat和lon必须来自以下范围:

在控制器中:

     $scope.position = {};
     $scope.position.lat =-31.9543365;//initializing your map with this position
     $scope.position.lon = 115.894217;
在你的指示中:

     link: function (scope, element, attrs) {
              var lat = scope.position.lat*1; // you must use * 1 , because they come from an object in your controller so javascript thinks they are Strings , not floats:p

              var lon = scope.position.lon*1;
              var myLatLng = new google.maps.LatLng(lat, lon);
            .
            .                
            .
再次在控制器中:

            $scope.select = function(item){
              $scope.position.lat = item.latitude;  
              $scope.position.lat = item.longitude;
              $scope.selected = item;
            }

我认为应该这样做

1-指令中的lat和lon必须来自以下范围:

在控制器中:

     $scope.position = {};
     $scope.position.lat =-31.9543365;//initializing your map with this position
     $scope.position.lon = 115.894217;
在你的指示中:

     link: function (scope, element, attrs) {
              var lat = scope.position.lat*1; // you must use * 1 , because they come from an object in your controller so javascript thinks they are Strings , not floats:p

              var lon = scope.position.lon*1;
              var myLatLng = new google.maps.LatLng(lat, lon);
            .
            .                
            .
再次在控制器中:

            $scope.select = function(item){
              $scope.position.lat = item.latitude;  
              $scope.position.lat = item.longitude;
              $scope.selected = item;
            }

我认为应该这样做

在所选的
值上创建一个
$watch
er,然后在地图每次更改时重新配置和重画:

link: function (scope, element, attrs) {
    scope.$watchCollection('selected', function() {
        var lat = scope.selected.latitude || -31.9543365; // defaults if no 
        var lon = scope.selected.longitude || 115.894217; // value on scope.selected
        var myLatLng = new google.maps.LatLng(lat, lon);
        var mapOptions = {
            center: myLatLng,
            zoom: 12,
            myTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            title: "my town"
        });
        marker.setMap(map);
    });
}

在所选的
值上创建一个
$watch
er,然后在地图每次更改时重新配置并重新绘制:

link: function (scope, element, attrs) {
    scope.$watchCollection('selected', function() {
        var lat = scope.selected.latitude || -31.9543365; // defaults if no 
        var lon = scope.selected.longitude || 115.894217; // value on scope.selected
        var myLatLng = new google.maps.LatLng(lat, lon);
        var mapOptions = {
            center: myLatLng,
            zoom: 12,
            myTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            title: "my town"
        });
        marker.setMap(map);
    });
}

在所选的
值上创建一个
$watch
er,然后在地图每次更改时重新配置并重新绘制:

link: function (scope, element, attrs) {
    scope.$watchCollection('selected', function() {
        var lat = scope.selected.latitude || -31.9543365; // defaults if no 
        var lon = scope.selected.longitude || 115.894217; // value on scope.selected
        var myLatLng = new google.maps.LatLng(lat, lon);
        var mapOptions = {
            center: myLatLng,
            zoom: 12,
            myTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            title: "my town"
        });
        marker.setMap(map);
    });
}

在所选的
值上创建一个
$watch
er,然后在地图每次更改时重新配置并重新绘制:

link: function (scope, element, attrs) {
    scope.$watchCollection('selected', function() {
        var lat = scope.selected.latitude || -31.9543365; // defaults if no 
        var lon = scope.selected.longitude || 115.894217; // value on scope.selected
        var myLatLng = new google.maps.LatLng(lat, lon);
        var mapOptions = {
            center: myLatLng,
            zoom: 12,
            myTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            title: "my town"
        });
        marker.setMap(map);
    });
}

这让我想到了我正在做的其他事情。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您抽出时间:)非常有魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。只要我有足够的重复次数,我就会:)