Decoding polyline with new Google Maps API

后端 未结 6 1688
时光取名叫无心
时光取名叫无心 2020-12-07 21:12

I am drawing a route between two points in a map. I receive the points this way:

StringBuilder urlString = new StringBuilder();
    urlString.append("htt         


        
6条回答
  •  情话喂你
    2020-12-07 21:57

    Same in Javascript

        function decodePolyline(encoded) {
            if (!encoded) {
                return [];
            }
            var poly = [];
            var index = 0, len = encoded.length;
            var lat = 0, lng = 0;
    
            while (index < len) {
                var b, shift = 0, result = 0;
    
                do {
                    b = encoded.charCodeAt(index++) - 63;
                    result = result | ((b & 0x1f) << shift);
                    shift += 5;
                } while (b >= 0x20);
    
                var dlat = (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
                lat += dlat;
    
                shift = 0;
                result = 0;
    
                do {
                    b = encoded.charCodeAt(index++) - 63;
                    result = result | ((b & 0x1f) << shift);
                    shift += 5;
                } while (b >= 0x20);
    
                var dlng = (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
                lng += dlng;
    
                var p = {
                    latitude: lat / 1e5,
                    longitude: lng / 1e5,
                };
                poly.push(p);
            }
            return poly;
        }
    

提交回复
热议问题