zoukankan      html  css  js  c++  java
  • Google Directions API通过请求获取导航数据简介

    使用GoogleMap的一些基础在这里不做介绍,下面主要介绍一下如何根据经纬度获取导航的路径信息:

    导航的路径信息可以通过Http获取也可以通过Https获取;两者的url是相同的,不同的是https比http安全而已。

    下面是获取的uil的格式:http://maps.googleapis.com/maps/api/directions/[json|xml]?[params];

    • 有两种输出格式分别是json和xml;
    • params如下:
      1. origin(必要)您要计算导航路径的起始位置,可以是地址或经纬度。
      2. destination (必要)您要计算导航路径的终止位置,可以是地址或经纬度。
      3. mode(选用,默认值:driving)指定计算导航时使用的交通模式。
        • driving表示使用标准行车导航。
        • walking 要求使用人行道及行人步行导航。
        • bicycling 要求使用自行车导航。(只适用于美国)
      4. waypoints (选用) 指定导航路径要经过的地点。地点可以指定为经纬度坐标或可进行地理编码的地址。
      5. alternatives (选用)true 时,表示请求导航的回应中提供一个以上的路线。这个可能延长服务器的请求耗时。
      6. avoid(选用) 表示导航路径要避开的地点。这个参数可以是下面的2个值︰
        • tolls 表示路径避开收费站。
        • highways 表示路径避开高速公路。
      7. units (选用)指定显示的单位。
        • metric 使用标准单位,公里和公尺。
        • imperial 使用英式单位,英里和英尺。
      8. region (选用)将区域代码指定为ccTLD([顶层网域])的两位字元值。
      9. language (选用)路径传回时使用的语言。如果系统不支持设置的语言,那么系统会使用浏览器设置的语言进行返回。
        • zh-CN 简体汉语
        • en-US 英语
      10. sensor (必要) 指出导航的请求设备是否附有位置感应器。这个值必须是 true 或 false。

    以下是Google Directions API提供的2个URL的示例供参考:

    1. http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false
    2. http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&sensor=false

     以上的例子是根据地点名称来获取导航路径的方式,下面说明如何使用经纬度的方式来获取导航路径:

    示例:http://maps.googleapis.com/maps/api/directions/json?origin=37.458060333333336%2c118.49971400000001&destination=37.458260333333336%2c118.50971400000001&sensor=false

    以上示例显示了从某个经纬度到另一个经纬度的导航的请求URL。 说明: 37.458060333333336%2c118.49971400000001中前边37.458060333333336表示纬度,后边118.49971400000001表示经度,而中间的%2c是一个分隔符,这个分隔符在URL编码表中表示的是','。

    URL编码表如下:

    backspace %08 I %49 v %76 ó %D3
    tab %09 J %4A w %77 Ô %D4
    linefeed %0A K %4B x %78 Õ %D5
    creturn %0D L %4C y %79 Ö %D6
    space %20 M %4D z %7A Ø %D8
    ! %21 N %4E { %7B ù %D9
    " %22 O %4F | %7C ú %DA
    # %23 P %50 } %7D Û %DB
    $ %24 Q %51 ~ %7E ü %DC
    % %25 R %52 ¢ %A2 Y %DD
    & %26 S %53 £ %A3 T %DE
    ' %27 T %54 ¥ %A5 ß %DF
    ( %28 U %55 | %A6 à %E0
    ) %29 V %56 § %A7 á %E1
    * %2A W %57 « %AB a %E2
    + %2B X %58 ¬ %AC ã %E3
    , %2C Y %59 ˉ %AD ä %E4
    - %2D Z %5A o %B0 å %E5
    . %2E [ %5B ± %B1 æ %E6
    / %2F \ %5C a %B2 ç %E7
    0 %30 ] %5D , %B4 è %E8
    1 %31 ^ %5E μ %B5 é %E9
    2 %32 _ %5F » %BB ê %EA
    3 %33 ` %60 ¼ %BC ë %EB
    4 %34 a %61 ½ %BD ì %EC
    5 %35 b %62 ¿ %BF í %ED
    6 %36 c %63 à %C0 î %EE
    7 %37 d %64 á %C1 ï %EF
    8 %38 e %65 Â %C2 e %F0
    9 %39 f %66 Ã %C3 ñ %F1
    : %3A g %67 Ä %C4 ò %F2
    ; %3B h %68 Å %C5 ó %F3
    < %3C i %69 &AElig; %C6 &ocirc; %F4
    = %3D j %6A &Ccedil; %C7 &otilde; %F5
    > %3E k %6B è %C8 &ouml; %F6
    %3F l %6C é %C9 ÷ %F7
    @ %40 m %6D ê %CA &oslash; %F8
    A %41 n %6E &Euml; %CB ù %F9
    B %42 o %6F ì %CC ú %FA
    C %43 p %70 í %CD &ucirc; %FB
    D %44 q %71 &Icirc; %CE ü %FC
    E %45 r %72 &Iuml; %CF y %FD
    F %46 s %73 D %D0 t %FE
    G %47 t %74 &Ntilde; %D1 &yuml; %FF
    H %48 u %75 ò %D2  
  • 相关阅读:
    项目
    Cache Code
    是什么限制了我们面向对象
    程序设计语言本质
    不要迷失在技术的海洋中
    程序是给自己看的还是给别人看的
    程序员的春天
    新手如何学习一门新的语言
    无废话C#设计模式之二十:Mediator
    (原创)代码分析-DataGrid实现增删(带提示)改和分页
  • 原文地址:https://www.cnblogs.com/janken/p/2489575.html
Copyright © 2011-2022 走看看