Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 使用AngluarJS更改google地图的中心_Javascript_Angularjs_Google Maps - Fatal编程技术网

Javascript 使用AngluarJS更改google地图的中心

Javascript 使用AngluarJS更改google地图的中心,javascript,angularjs,google-maps,Javascript,Angularjs,Google Maps,我正在使用ngmap它是由创建的AngularJS谷歌地图指令,用于在html页面上显示地图,避免编写冗长的javascript代码 $scope.changeMapPostion = function(NewPostion) { $scope.MyPosition = '[' + NewPostion + ']' } 我想在用户单击地图时更改地图的中心 超链接 $scope.changeMapPostion = function(NewPostion) { $scope.My

我正在使用ngmap它是由创建的AngularJS谷歌地图指令,用于在html页面上显示地图,避免编写冗长的javascript代码

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
我想在用户单击地图时更改地图的中心 超链接

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
首先,使用控制器中的一个值对地图中心进行初始化,并且一切工作正常:

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
Html:

<ng-map zoom="12"  center="{{MyPosition}}" >  </ng-map> 
$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
我试图将单击项的经度和纬度传递给控制器中的一个函数,该函数更改“MyPostion”的值

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
Html:(device.EventData[0].GPSPoint包含如下值:经度、纬度

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
MyPostion的值已完全更改,但地图中心未更改

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}

如何解决这个问题?可以用javascript代码更改地图的中心吗?

阅读您使用的库的入门,我发现有一种方法可以获取(Google)地图对象。因此,您可以简单地使用setCenter方法:

$scope.changeMapPostion = function(NewPostion) {
    $scope.MyPosition = '[' + NewPostion + ']'
}
NgMap.getMap().then(function(map) {
    map.setCenter(/* coords */);
});

现在你需要重新加载地图和新的位置谢谢你的评论@booster2oo的答案解决了我的问题谢谢你的帮助答案现在它可以通过更改地图完美工作。setCenter(/*coords*/);使用:map.setCenter(新的google.maps.LatLng(lat,lng));