У меня есть список названий городов. Если пользователь выбирает один, я хотел бы установить центр моей угловой карты Google в этот определенный город.
console.log отлично работает. Я возвращаю правильное название города, но если я передам его функции, это заменит акценты.Работа с акцентами в angularjs
$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 (Bad Request)
Фабрика:
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();
});
}
Я предполагаю, что его что-то с кодирование. Как я могу исправить URL googleapis?
использование encodeURI (Uri); по названию города – Vanojx1
Спасибо большое @ Vanojx1! Оно работает. Если бы вы могли опубликовать его в качестве ответа, я бы принял его. – MagicDragon