Vous pouvez créer un tableau à partir (à l'aide JSON.parse
), puis utilisez apply
pour « nourrir » les coordonnées à la méthode:
GPSlocation = JSON.parse("(37.700421688980136, -81.84535319999998)"
.replace(/^\(/,'[')
.replace(/\)$/,']')
);
google.maps.LatLng.apply(null,GPSlocation);
Sinon, vous pouvez remplacer les crochets et utiliser split
pour créer un tableau , et appelez la méthode LatLng
de la manière habituelle. Cette méthode nécessite une conversion supplémentaire à Number
des valeurs Array.
GPSlocation = "(37.700421688980136, -81.84535319999998)"
.replace(/^\(|\)$/,'')
.split(',');
google.maps.LatLng(+GPSlocation[0],+GPSlocation[1]);
Pour récupérer un tableau de coordonnées de la chaîne, vous pouvez également utiliser:
GPSlocation = ''.slice.call('(37.700421688980136, -81.84535319999998)',
1,this.length-1)
.split(',')
.map(function(a){return +a;});
google.maps.LatLng(GPSlocation[0],GPSlocation[1]);
Je ris toujours le nombre de décimales que nous obtenons sur les coordonnées lat/lon. Six DP est suffisant pour vous identifier à dix centimètres. Je m'amuse toujours lorsque nous demandons aux gens d'insister sur des coordonnées à huit ou dix chiffres. Vous avez encore plus que cela, mais c'est plus à des inexactitudes à virgule flottante que n'importe quelle précision. – Spudley