thanks for the help. i got the polyline decoder for C#
>
> private static List<Location> DecodePolylinePoints(string encodedPoints) 
>
>             {
>
>                 if (encodedPoints == null || encodedPoints == "") return 
>> null;
>
>                 List<Location> poly = new List<Location>();
>
>                 char[] polylinechars = encodedPoints.ToCharArray();
>
>                 int index = 0;
>
>
>>                 int currentLat = 0;
>
>                 int currentLng = 0;
>
>                 int next5bits;
>
>                 int sum;
>
>                 int shifter;
>
>
>>                try
>
>                 {
>
>                     while (index < polylinechars.Length)
>
>                     {
>
>                         // calculate next latitude
>
>                         sum = 0;
>
>                         shifter = 0;
>
>                         do
>
>                         {
>
>                             next5bits = (int)polylinechars[index++] - 63;
>
>                             sum |= (next5bits & 31) << shifter;
>
>                             shifter += 5;
>
>                         } while (next5bits >= 32 && index < 
>> polylinechars.Length);
>
>
>>                         if (index >= polylinechars.Length)
>
>                             break;
>
>
>>                         currentLat += (sum & 1) == 1 ? ~(sum >> 1) : (sum 
>> >> 1);
>
>
>>                         //calculate next longitude
>
>                         sum = 0;
>
>                         shifter = 0;
>
>                         do
>
>                         {
>
>                             next5bits = (int)polylinechars[index++] - 63;
>
>                             sum |= (next5bits & 31) << shifter;
>
>                             shifter += 5;
>
>                         } while (next5bits >= 32 && index < 
>> polylinechars.Length);
>
>
>>                         if (index >= polylinechars.Length && next5bits >= 
>> 32)
>
>                             break;
>
>
>>                         currentLng += (sum & 1) == 1 ? ~(sum >> 1) : (sum 
>> >> 1);
>
>                         Location p = new Location();
>
>                         p.Latitude = Convert.ToDouble(currentLat) / 
>> 100000.0;
>
>                         p.Longitude = Convert.ToDouble(currentLng) / 
>> 100000.0;
>
>                         poly.Add(p);
>
>
>>                     } 
>
>                     return poly;
>
>                 }
>
>                 catch (Exception ex)
>
>                 {
>
>                     // log it
>
>                     throw;
>
>                 }
>
>             }
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-maps-js-api-v3/-/5TNpVItBECUJ.
To post to this group, send email to google-maps-js-api-v3@googlegroups.com.
To unsubscribe from this group, send email to 
google-maps-js-api-v3+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to