jQuery Store Locator toont verkeerde afstand

Status
Niet open voor verdere reacties.

Schwung

Gebruiker
Lid geworden
20 okt 2015
Berichten
5
Hi all,

Wie zou me kunnen helpen?

Ten behoeve van een store locator gebruik ik de js-code van Ruslanss. Hier een link naar de volledige documentatie en hier een link naar de JS-code.

Echter, op sommige apparaten treedt er een fout op met de aanhalingstekens. Ter illustratie het volgende voorbeeld. Als ik zoek op de dichtsbijzijnde shop nabij Eindhoven dan zou Men's suit uit Den Bosch in de resultaten naar voren moeten komen met 36,8km. Op sommige apparaten gebeurt dit ook. Op andere apparaten wordt echter 368 km weergeven. Via deze link een screenshot van de voorbeelden.

Alvast bedankt!
 
Laatst bewerkt:
ik zou de raw output eens bekijken, mogelijk krijg je vanwege location settings een komma terug en die wordt dan gefilterd:

[js]
function GoogleMapDistanceTextToNumber(str) {
return Number(str.replace(/[^0-9.]/g, ""));
}
[/js]
 
Heel erg bedankt voor jouw reactie! Wat zou jij hieraan veranderen? Ik heb mijn hoofd erover gebroken, maar ik kom niet tot een werkende oplossing. Alvast bedankt!
 
Ik zou de functie iig aanpassen om komma's toe te staan:
[js]
str.replace(/[^0-9,.]/g, "")
[/js]
en kijken of het probleem dan weg gaat. zo niet zou ik de functie even zo aanpassen:
[js]
function GoogleMapDistanceTextToNumber(str) {
return str;
}
[/js]

Je krijgt dan de ruwe output van google te zien en kun je eventueel opmaken waar het probleem zit
 
Als ik de functie aanpas naar onderstaande code dan ontstaan er errors, sommige afstanden worden helemaal niet weergeven.

Code:
str.replace(/[^0-9,.]/g, "")

Als ik de functie met onderstaande code aanpas dan worden de afstanden op de correcte wijze weergeven.

Code:
function GoogleMapDistanceTextToNumber(str) {
                return str;
            }

Alleen wordt een shop met de afstand 1.137 km als dichterbij weergeven als een shop met 36,8 km afstand.
Hier een link naar het screenshot.

Wat zou ik nog moeten aanpassen?
 
Je hebt dus inderdaad een mix van responses met punten en komma's. Welkom in de geweldige wereld van de internationale settings. Heb helaas vandaag en zeer waarschijnlijk morgen geen tijd, maar daar ligt de basis van je probleem.
 
Thanks voor het meedenken :d! Geen probleem, mocht je een keer in de gelegenheid zijn dan ben ik benieuwd naar eventuele oplossingsmogelijkheden.
 
In de tussentijd heb ik onderstaande aanpassing gedaan. Maar helaas ook geen succes.

function GoogleMapDistanceTextToNumber(str) { return Number(str.replace(/[^0-9.]/g, "")); } haalt de letters 'mi' uit
_locationset[startIndex + j].Distance = GoogleMapDistanceTextToNumber(results[j].distance.text); maar niet de punt.
Zou hier bijvoorbeeld 'value' in plaats van 'text' gebruikt worden dan krijg je de afstand in meter, een getal zonder punten of komma’s die fouten kunnen veroorzaken bij de omzetting.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan