Я просто столкнулся с той же проблемой и нашел ваше сообщение. Я смог обойти это, установив значения client
и signature
на фиктивные значения, например.
geocode(myLocations, client = "123", signature = "123", output = 'latlon', source = 'dsk')
Проблема, как представляется, с этой частью функции геокодирования ...
if (length(location) > 1) {
if (userType == "free") {
limit <- "2500"
}
else if (userType == "business") {
limit <- "100000"
}
s <- paste("google restricts requests to", limit, "requests a day for non-business use.")
if (length(location) > as.numeric(limit))
stop(s, call. = F)
userType
устанавливается выше в этой части кода ...
if (client != "" && signature != "") {
if (substr(client, 1, 4) != "gme-")
client <- paste("gme-", client, sep = "")
userType <- "business"
}
else if (client == "" && signature != "") {
stop("if signature argument is specified, client must be as well.",
call. = FALSE)
}
else if (client != "" && signature == "") {
stop("if client argument is specified, signature must be as well.",
call. = FALSE)
}
else {
userType <- "free"
}
Так , если параметры client
и signature
пустые userType
установлен на «свободный», и в свою очередь предел установлен в 2500. Предоставляя значения для этих параметров, вы считаетесь «бизнес-пользователем» с лимитом в 100 000. Это хорошая проверка, если предполагается, что пользователь использует «Google» в отличие от «dsk» в качестве источника, но является чрезмерным, если источник «dsk» и, вероятно, должен быть переопределен. Чтобы быть наивным, возможно, что-то вроде ...
if (source == "google") {
if (client != "" && signature != "") {
if (substr(client, 1, 4) != "gme-")
client <- paste("gme-", client, sep = "")
userType <- "business"
}
else if (client == "" && signature != "") {
stop("if signature argument is specified, client must be as well.",
call. = FALSE)
}
else if (client != "" && signature == "") {
stop("if client argument is specified, signature must be as well.",
call. = FALSE)
}
else {
userType <- "free"
}
} else {
userType <- "business"
}
Это может вызвать проблемы, если client
или signature
параметры были запланированы для других источников, хотя. Я буду пинговать автора пакета.
Спасибо! Это вроде как работы, но все же ограниченные. Причина в том, что, хотя использование фиктивных значений перепрыгивает предел 2500, теперь он останавливается с лимитом бизнеса Google, что составляет 10 000: Ошибка: Google ограничивает запросы на 100000 запросов в день для нерабочего использования. –