【问题标题】:how to use geocoding for googlemaps?如何使用谷歌地图的地理编码?
【发布时间】:2014-04-27 12:54:05
【问题描述】:

我正在尝试使用 googlemaps 进行地理编码。我遇到的问题是我的代码中的地理编码器在再次居中地图之前没有返回:

 GeoCoder.getLocations($scope.address).then(function(results) {
    var latLng = results[0].geometry.location;
    $scope.center = {
      lat: latLng.k,
      lng: latLng.A
    };
    $scope.zoom = 10;
  });

在我的 gmaps 指令中,我将地图的中心设置为从 GeoCoder 返回的新纬度/经度(见上文)。调用服务以及何时返回设置新位置的更好解决方案是什么?也许是异步调用? 这是网址 plunkr:http://plnkr.co/edit/6Wg3UZNsJOHLQCmTJPCQ?p=preview

【问题讨论】:

  • 您的 plunk 缺少几个 javascript 文件。没有这个很难给出一个充分的答案。
  • 重试现在应该可以工作了
  • 我需要澄清一下我的回答。您是在问如何推迟 $scope.center 分配?

标签: angularjs google-maps promise


【解决方案1】:

返回中心怎么样?还是为中心做出承诺?当您准备好将地图居中时,您将解决它。

var centerPromise = GeoCoder.getLocations($scope.address).then(function(results) {
    var latLng = results[0].geometry.location;
    $scope.nextCenter = {
        lat: latLng.k,
        lng: latLng.A
    };
    return new $q.defer().promise;
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多