Я использую PhoneGap 1.5.0 Cordova для Android, я изменил официальный тестовый пример PhoneGap Android и протестировал его на двух разных телефонах.Я отправляю запросы геокодирования Google, но после нескольких итераций он просто перестает работать.тот же код был в порядке с PhoneGap 1.4.1
Можете ли вы объяснить это?Вы уже нашли решение?
Вот код:
Geocoder: function() {
var serviceurl = 'http://maps.googleapis.com/maps/api/geocode/json', geocode, geocodeCoords, geocodeAddress;
geocode = function(req, cb) {
$.extend(req, {
sensor : true,
region : 'it',
language : 'it'
});
var qs = $.param(req);
$.ajax({
type: 'GET',
url : serviceurl,
data : qs,
success : function(d) {
cb(d.results, d.status);
},
error : function(xhr, status, e) {
alert('geocode error: ' + status);
console.log(e);
cb([], status || 'http error');
}
});
};
geocodeCoords = function(coords, cb) {
var req = {
latlng : [coords.latitude, coords.longitude].join(',')
};
geocode(req, function(arr, s) {
cb(arr, s);
});
};
geocodeAddress = function(addr, cb) {
var req = {
address : addr
};
geocode(req, function(arr, s) {
cb(arr, s);
});
};
/*
* 1: obj.coords => { latitude: 0, longitude: 0 } 2: obj.address =>
* string
*/
this.geocode = function(obj, cb) {
if (obj && obj.coords) {
geocodeCoords(obj.coords, cb);
} else if (obj && obj.address) {
geocodeAddress(obj.address, cb);
} else {
throw new Error('geocoder failure: nothing to geocode');
}
};
return this;
}