From b4df19a01cd1a0275252d97e4125194536038641 Mon Sep 17 00:00:00 2001 From: Richard Ellison Date: Sun, 17 Jan 2016 17:32:59 +1100 Subject: [PATCH] Fix for JSON error when directions include names with speech marks. --- R/osrmfunctions.R | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/R/osrmfunctions.R b/R/osrmfunctions.R index 9129472d..bb71666a 100644 --- a/R/osrmfunctions.R +++ b/R/osrmfunctions.R @@ -109,18 +109,18 @@ viaroute <- function(startlat = NULL, startlng = NULL, endlat = NULL, i <- 1 while (i <= length(viapoints)) { if(ncol(viapoints[[i]]) == 3) { - returnval[i] <- gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",paste0(viapoints[[i]][,1],',',viapoints[[i]][,2],'&u=',viapoints[[i]][,3],collapse='&loc='),'&', + returnval[i] <- gsub('\\\\\\\\\"','\\\\\\"',gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",paste0(viapoints[[i]][,1],',',viapoints[[i]][,2],'&u=',viapoints[[i]][,3],collapse='&loc='),'&', paste0(paste0( c("z","instructions","alt","geometry","uturns"),'=', c(zoom,instructions,alt,geometry,uturns)),collapse='&') - ))) + )))) } else { - returnval[i] <- gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",paste0(paste0(viapoints[[i]][,1],',',viapoints[[i]][,2]),collapse='&loc='),'&', + returnval[i] <- gsub('\\\\\\\\\"','\\\\\\"',gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",paste0(paste0(viapoints[[i]][,1],',',viapoints[[i]][,2]),collapse='&loc='),'&', paste0(paste0( c("z","instructions","alt","geometry","uturns"),'=', c(zoom,instructions,alt,geometry,uturns)),collapse='&') - ))) + )))) } i <- i + 1 } @@ -134,18 +134,18 @@ viaroute <- function(startlat = NULL, startlng = NULL, endlat = NULL, } if (length(startlat) == 1) { - returnval <- gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",startlat,",",startlng,"&loc=",endlat,",",endlng,"&", + returnval <- gsub('\\\\\\\\\"','\\\\\\"',gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",startlat,",",startlng,"&loc=",endlat,",",endlng,"&", paste0(paste0(c("z","instructions","alt","geometry","uturns"),'=', c(zoom,instructions,alt,geometry,uturns)),collapse='&') - ))) + )))) } else { i <- 1 while (i <= length(startlat)) { - returnval[i] <- gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",startlat[i],",",startlng[i],"&loc=",endlat[i],",",endlng[i],"&", + returnval[i] <- gsub('\\\\\\\\\"','\\\\\\"',gsub('\\\\','\\\\\\\\',RCurl::getURL(paste0(qryurl,"loc=",startlat[i],",",startlng[i],"&loc=",endlat[i],",",endlng[i],"&", paste(paste0(c("z","instructions","alt","geometry","uturns"),'=', c(zoom,instructions,alt,geometry,uturns)),collapse='&') - ))) + )))) i <- i + 1 } }