Partage
  • Partager sur Facebook
  • Partager sur Twitter

Decoder Polyline (Android)

Problème de typage?

    11 mars 2013 à 14:28:10

    Bonjour,

    J'ai un petit soucis avec le code que voici :

    private List<GeoPoint> decodePoly(String encoded) {
    
    	List<GeoPoint> poly = new ArrayList<GeoPoint>();
    	int index = 0, len = encoded.length();
    	int lat = 0, lng = 0;
    
    	while (index < len) {
    		int b, shift = 0, result = 0;
    		do {
    			b = encoded.charAt(index++) - 63;
    			result |= (b & 0x1f) << shift;
    			shift += 5;
    		} while (b >= 0x20);
    		int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
    		lat += dlat;
    
    		shift = 0;
    		result = 0;
    		do {
    			b = encoded.charAt(index++) - 63;
    			result |= (b & 0x1f) << shift;
    			shift += 5;
    		} while (b >= 0x20);
    		int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
    		lng += dlng;
    
    		GeoPoint p = new GeoPoint((int) (((double) lat / 1E5) * 1E6),
    			 (int) (((double) lng / 1E5) * 1E6));
    		poly.add(p);
    	}
    
    	return poly;
    }



    La classe GeoPoint oblige le cast en int, hors j'ai besoin de cette classe car certaines fonctions y sont liés, mais ici les coordonnés sont falsifiée, avant le cast en int j'ai un nombre qui finit par E7, et après j'ai les coordonnés qu'il me faut sauf qu'il y manque la virgule! ex: 486059 à la place de 48.6059

    Une idée pour que j'arrive à obtenir ce dont j'ai besoin?

    Bonne Journée

    • Partager sur Facebook
    • Partager sur Twitter

    Decoder Polyline (Android)

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown