Javascript AngularJS-根据所选项目从JSON更改google maps指令的范围
我之前从这里得到了一个答案,关于如何基于所选项目填充json表单的详细信息 请看这里的一个例子,我正在努力实现 如何根据列表组中选定的项目更改Google maps指令中的纬度和经度值 这就是我到目前为止所做的: html: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
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);
});
}
这让我想到了我正在做的其他事情。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您的时间:)这给了我一个关于我正在做的其他事情的想法。非常感谢您抽出时间:)非常有魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。我会尽快得到足够的重复:)工作像一个魅力!谢谢:)对不起,我没有足够的代表投票支持这个答案。只要我有足够的重复次数,我就会:)