使用angularjs中的重音

时间:2016-06-28 12:21:30

标签: javascript angularjs google-maps google-maps-api-3 utf-8

我有一个城市名称列表。如果用户选择了一个,我想将我的角度 - 谷歌地图的中心设置为该特定城市。
console.log运行正常我得到了正确的城市名称,但是如果我把它传递给一个函数,它就会替换重音符。

$scope.selectCity = function (city) {
  console.log(city.name) //it works fine. The log: Abaújkér
  locationService.getLatLngByCityName(city.name).then(function (result){
    var cityLatLng = result.data.results[0].geometry.location;

    console.log(cityLatLng);
  }).catch(function (error) {
    console.log(error);
  });
};

locationService.getLatLngByCityName返回错误请求:

  

获取http://maps.googleapis.com/maps/api/geocode/json?address=Aba%FAjk%E9r&sensor=true 400(错误请求)

工厂:

factory.getLatLngByCityName = function (city) {
  console.log(city); // it works fine. The log: Abaújkér
  var API_URL = 'http://maps.googleapis.com/maps/api/geocode/json?address=' + city;
  return $http({
    method: 'GET',
    url: API_URL,
    params: { sensor: true }
  })
    .catch(function () {
    return $q.reject();
  });
}

我猜它与编码有关。我怎么能修复googleapis' URL?

1 个答案:

答案 0 :(得分:0)

你需要使用"特殊字符"来编码GET参数,使用此功能:

encodeURI()