`a2) Patent Application Publication co) Pub. No.: US 2006/0206264 Al
`
` Rasmussen (43) Pub. Date: Sep. 14, 2006
`
`
`US 20060206264A1
`
`(54) COMBINED MAP SCALE AND MEASURING
`TOOL
`
`Publication Classification
`
`(76)
`
`Inventor:
`
`Jens Eilstrup Rasmussen, San
`Francisco, CA (US)
`
`Correspondence Address:
`GOOGLE / FENWICK
`SILICON VALLEY CENTER
`
`OURLMNaN‘4 94041 (US
`,
`(US)
`.
`11/181,016
`(21) Appl. No.:
`(22)
`Filed:
`Jul. 12, 2005
`
`Related U.S. Application Data
`
`(63) Continuation-in-part of application No. 11/051,534,
`filed on Feb. 5, 2005.
`
`(60) Provisional application No. 60/567,946, filed on May
`3, 2004. Provisional application No. 60/555,501, filed
`on Mar. 23, 2004.
`
`(51)
`
`Int. Cl.
`(2006.01)
`GOIC 2132
`(52) U.S. Ch vee 701/212; 701/208; 340/995.15
`
`(67)
`
`ABSTRACT
`:
`.
`.
`A combined map scale and measuring tool can be used in
`digital mapping systems.
`In the scale mode,
`the scale
`indicates the correct scale, for example, at the center of the
`map. It can be updated with every pan, zoom or resize
`operation the user performs, and can further update to
`compensate for map distortion caused by the map projec-
`tion. The tool mode is entered once the user drags one or
`both of the scale endpoints onto the map. The distance
`between two endpoints of the tool can be displayed. A new
`point can be added each time the user drags a line between
`existing endpoints of the tool. Info windowscan be opened
`that include relevant information about the endpoints (e.g.,
`latitude/longitude, geo code), and provide option to convert
`the tool segments to driving directions. A drag and drop
`location marker is also provided.
`
`
`
`In responseto the scale being moved
`onthe digital map, switch from a scale
`
`
`. mode to a measuring tool mode
`605
`
`
`
`Change graphicallookof the scale to
`indicate measuring tool modeis active
`
`610
`
`Draw scale to reflect its movement as endpoints
`are moved to locations on the digital map
`615
`
`Draw an additional endpoint each time user
`drags line between two endpoints to a location
`on the map, thereby providing multisegmentline
`620
`
`
`Display distance betweenlocations marked by
`endpoints of scale, the distance in units of scale
`625
`
`
`
`
`Allow user to request driving directions fortravel
`between locations marked by endpoints of scale
`630
`
`Provide the driving directions
`635
`
`
`
`
`
`
`
`
`
`
`In responseto a user selecting scale, show user
`information about points marked by scale
`640
`
`1
`
`SAMSUNG 1007
`
`SAMSUNG 1007
`
`1
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 1 of 9
`
`:
`
`
`
`sdewfzSaajuos'aGoobsdews/:dnyBisS2up
`
`—SOCEaGPRETeI0]
`
`
`
`
`4@B®sraquyvoyoyiweiSeqonedpeasCf|DPgl(x!.©
`
`
`BY“oo,~dH-90lsomone]we]ay|POTSRUeCELateRCLCoESSCOEDS)ReyLoe2
`
`
`
`
`
`
`;JaSMOlgSJ9Sq]
`
`US 2006/0206264 Al
`
`
`
`inwan
`
`
`
`HATSWeRWGwig&SHTSIES-dey
`
`
`
`Py180qUOISOGVer
`
`LEOEOHN‘IsueuWly
`
`
`
`sukx*sanwsa
`ay.giPUD
`
`
`att
`Sy
`
`edb
`(B
`Bio1D,
`
`
`
`Qo“
`uljoo|Buunseaj
`
`apoy,yajeos
`
` 7B87]10SUB]-
`
`
`
`
`
`eboogsonz@
`
`
`
`
`playAuyuz
`
`021
`
`deyjeuoyoaig
`
`
`
`syoalqgjosjUu0D
`
`SbL
`
`
`
`j04]U0DLUOOZ
`
`sjalqo
`
`ObL
`
`
`
`Jaye,uoesc7
`
`ScL
`
`pueajeosdey
`
`
`
`ysanbayuoe007
`
`SOL
`
`2
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 2 of 9
`
`US 2006/0206264 Al
`
`©BYsraqney
`
`
`
`PY180dWOIsO”OFy
`
`LEQE0HN‘sieywy
`
`
`
`iSUNTANWATTEI]sdey~wsysonbayUol}e907]
`
`
`tgp,sueswanapaoy|FOSMOIGSAOS/)
`vapor|
`[re__.me
`
`ogee_oraboobsteula[Bscpy|ZS|samedRvasf1DEe-@-=O
`HOTTAcoTUTEWIGHE||dewjeuogoauiq
`wonDUTIES-de:sdew
`
`
`
`—//—~ae5sdew:OZ)
`
`
`aren(422895|HNJSIayUTyPedysodUoIsogDEF]%OOF)platyAjuz
`
`
`|GcAAStL|.thi~\
`POULCURunReRreCCosaLCLL2
`IY)-SySsif<|,eeS000
` .SBESRT-aoo9siSOL
`
`SRA°eJaye]UO!}E907
`9SEG
`osrea10.43U0DZ
`
`OooStoresspole1e9¢
`FNiP013U07)WOO
`
`ul[ooBuunseay,
`pueajeosdew
`
`IESEN|syoalagjosuoyv
`
`
`
`
`
`
`\Zz
`
`th,
`
`
`
`
`3
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 3 of 9
`
`
`
`<2pog0ag>
`
`
`
`ZSUOHOSNGUIA)pue3jbIS
`
`
`
`
`PeRCOCLEeeeROLanBeceieaeeGooe
`“offaljhuo3'@o08sdeuiyciay
`
`
`
`
`[BPssaumpy£a&sepaom|esapoarsD4ipreasOf|BZl[x]*©*eT}SNe~—oT:SOoOjaysoo]sayoneymaIq1]ALYiJesmolgS48S/)
`
`
`
`izTUONTIIGYESSeI]sdewjsanbayuonesc7
`
`
`
`am[9295HNisdeytuypeoy1s0qW01S0gCer3]500°)pisl4Ayu
`
`
`
`weesodeOcL
`
`
`
`
`
`
`
`
`ponHore~dey
`
`
`
`RAMONesIIRWedeyjeuojoaiig
`
`LEOE0HNsueywySLL
`
`
`
`PYISOUOISOgOCsyoalqojoUuoD
`
`Joyeo1pu|
`
`Ole
`
`
`
`SOURNSIGOLL
`
`MOPUIAA
`
`
`
`
`
`UdeWOJU|Seb
`
`Jaeuoe007
`
`joujuoz)WOOZ
`
`syalqo
`
`US 2006/0206264 Al
`
`
`
`
`
`ulJoosBulinseayy
`
`Spo[OO]
`
`\qS02
`
`
`
`JO}UOHISOgSWOY
`
`
`
`apoyyajeas
`
`eg0¢
`
`4
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 4 of 9
`
`US 2006/0206264 Al
`
`aouelsiq
`
`Joyeolpuy
`
`
`
`a —
`
`LEOEOHN‘SOUWy—teh,
`
`[<I
`I
`Te
`\
`
`
`
`
`
`
`
`aerreySe]
`
`UOISOGCEP]3*005aTWORISES]sdey~~ara[4228][HNIsiayiulyPeay180q
`
`09Ge;fuo>'2ioob'sdew/f:dyay(3!ssalppe:=@mare:Fioddoe|BEEO-O—_y dey"5901
`
`
`
`
`
`soyaaeyMAAWPTaSeeBCEBCOnteeRSCG)aNREieeeILO
`
`
`~oo JOSMOIGS$JOS)
`
`
`
`
`
`
`
`iBl
`
`
`
`pyIS0qUOIsogOEbAs,fRIBNRAMONssUIMmeiooapayHOES-deysew
`
`iH
`
`
`
`
`ysonbeyucye007
`
`plalgAjuz
`
`OzL
`
`
`
`dew;jeuonsaig
`
`
`
`syalqojoUu0D
`
`Shh
`
`
`
`[O4JU0DLUOOZ
`
`spelqo
`
`OL
`
`
`
`JayeUOI}e007
`
`Sch
`
`
`
`uljoo]Buunseayy
`
`pue9295
`
`apo;oo,
`
`qS0E
`
`
`
`40}UOIISOYSLO}
`
`
`
`Spo;ajeos
`
`eGoe
`
`5
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 5 of 9
`
`
`
`=
`
`
`
`
`
`maiRacHNIsiayury
`
` peoySoquoysogOey]OQF)~suoaigyeaseso]sdey20{wor
`
` i
`qnPEOOO—
`
`US 2006/0206264 Al
`
`OLE
`
`
`Joyeorpu|
`
`UOITEULOJU}
`
`MOPUI\
`
`SLE
`
`
`
`'SBity191mOLLAVNS00ZOB1epdey
`
`wan
`HersyesFey)wg&Ysabaw
`aUaTeS-dewsdey
`
`
`py1S0qUOISOGOEP(REIGN
` LE0EOHN‘ISI8ULWy[eh
`BOUeIsIg aN
`
`
`
`ysonbayuoneoo7
`
`Oz)
`
`deyjeuonoauiq
`
`
`
`spalqojo1ju0D
`
`StL
`
`
`
`]O1JUO4)LUOOZ
`
`spelqo
`
`OLL
`
`pyarAujug
`
`
`
`Jayseyuo1yes0"]
`
`Geb
`
`
`
`uljoo,6Buunseayy
`
`pueajeos
`
`Spow|OoL
`
`qs0¢
`
`
`
`JO}UOHISOG@WOH
`
`
`
`Spow=gyeos
`
`ecoe
`
`
`
`ROCCERCULOUBCEEeeRSCasREOhnSeeLo
`
`CPMspolsewoeyMOApSaH:
`
`
`
`~-=---=JOSMOIGSJOS(}
`
`
`
`ajboo5sdewt}cay(sSseuppy:
`
`6
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 6 of 9
`
`inseny
`
`Ajoles-dey
`
`
`SHeeTUGmis
`
`PYISOdUOISOgOEr
`
`LEOEOHN‘ISISULulyA
`
`TUJUeUIbeS
`
`
`
`$sOjD0JU0JYBHIYWNL(Z“oqL'006—pyysod
`
`uo}SoguosnuUe’(|
`
`>S@LUOdEqJSSSOID(Ett€°Q06-1S
`
`IwLQ06—pyjsoq
`
`ojuoybWNL(1
`
`
`
`
`
`
`US 2006/0206264 Al
`
`
`
`
`
`
`_SETISU]-ajf009saneesoe
`
`iQ
`
`
`
`JO}uonIsogSLuOH
`
`apoayes
`
`ug}sogojuoJubseag(Zepoyy100LIw2",06
`—pyeBpugsuseaeasuliowes
`
`
`
`tuyo061gsospunnJayeuoye907
`
`deypeuoyoaq
`
`
`
`s}99[qOJo1]U0D
`
`SLL
`
`
`
`JO1}UODLUOOZ
`
`sypolqo
`
`Ob
`
`Seb
`
`
`
`sdey
`
`
`HNWsayUryPeoY1S0qUOjsOqocr
`
`Sai]YsessTEIN]
`3]8005)
`
`jsoenbayuoles07
`pjatgAjuy
`
`0zL
`
`w2
`
`.S
`=
`
`tosSeseerRaoe
`
`
`gyi“oe~-:a—"~".:“dH57005,SseyoaeyMAAWPSFA:
`
`BeomDERO--O—weemJOSMOIGSJOSP)
`
`
`
`
`
`{worajboo8sdews):d334flSs2UuppY:
`
`PUCERUECOCUMRaESLER
`
`
`
`
`
`7
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 7 of 9
`
`US 2006/0206264 Al
`
`OcrSOV
`
`SOILAiant
`
`deweseqejed
`
`pBig
`
`
`
`eyeqdeySLYOLPQYdeDjB907
`
`all,dey
`
`d1LH
`
`}senbey
`
`Soll
`
`JaniasgdeyJAaSMOJGGav
`
`8
`
`
`
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 8 of 9
`
`US 2006/0206264 Al
`
`Start)
`
`Receive information that influences the scale
`
`
`
`behavior, including information aboutat least
`
`
`one of scale position on the map and zoomlevel
`
`.
`505
`
`Determine the width of one pixel of the map
`510
`
`
`
`Draw the scale so each unit is a correct number
`of pixels wide, based on scale information (e.g.,
`desired scale units and scale distance)
`
`515
`
`
`
`
`
`
`
`Draw the scale so each unit is a correct
`distance, based on map projection used and
`
`
`scale location on the digital map
`
`520
`
`Add the scale distance to the scale as text
`525
`
`Allow user to specify units of measure for the scale
`530
`
`
`
`
`
`Provide the user with information regarding
`
`measuring tool mode wherethe scale can be
`used to measure distances on the map
`
`
`535
`
`
`9
`
`
`
`Patent Application Publication Sep. 14,2006 Sheet 9 of 9
`
`US 2006/0206264 Al
`
`CStart)
`
`
`
`In response to the scale being moved
`
`
`on the digital map, switch from a scale
`
`
`. mode to a measuring tool mode
`605
`
`
`Changegraphical look of the scale to
`indicate measuring tool modeis active
`610
`
`Draw scale to reflect its movement as endpoints
`are moved to locations on the digital map
`615
`
`
`
`Draw an additional endpoint each time user
`
`dragsline between two endpoints to a location
`
`
`on the map, thereby providing multisegmentline
`
`620
`
`
`
`Display distance betweenlocations marked by
`
`endpoints of scale, the distance in units of scale
`625
`
`
`
`Allow user to requestdriving directions for travel
`betweenlocations marked by endpoints of scale
`630
`
`Provide the driving directions
`635
`
`In responseto a user selecting scale, show user
`information about points marked by scale
`
`640
`
`10
`
`10
`
`
`
`US 2006/0206264 Al
`
`Sep. 14, 2006
`
`COMBINED MAP SCALE AND MEASURING TOOL
`
`RELATED APPLICATIONS
`
`[0001] This application is a continuation-in-part of U.S.
`application Ser. No. 11/051,534, filed Feb. 5, 2005, titled “A
`Digital Mapping System”, which claims the benefit of U.S.
`Provisional Application Nos. 60/567,946, filed May 3, 2004,
`and 60/555,501, filed Mar. 23, 2004. In addition, this appli-
`cation is related to U.S. application Ser. No. 11/088,542,
`filed Mar. 23, 2005, titled “Generating and Serving Tiles in
`a Digital Mapping System”. Each of these applications is
`herein incorporated in its entirety by reference.
`
`FIELD OF THE INVENTION
`
`[0002] The invention relates to digital mapping systems,
`and more particularly,
`to techniques that provide more
`accurate and useful map scales.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Computerized mapping systems have been devel-
`oped to search for, identify, and discover information about
`geographic locations. One form of such computerized map-
`ping systems includes travel-planning Internet websites.
`With an excess of 50 million unique monthly users, such
`mapsites are a very popular offering. Examples of such sites
`include AOL’s MapQuest, Yahoo’s Telcontar-based maps,
`and Microsoft’s MapPoint.net suite. Such sites all work
`along the lines of a common model, as will now be
`described.
`
`[0004] When a Webuser asks for a new mapview(e.g., by
`entering a postal address, or by clicking a navigation link
`next to a current map view), the user’s Web browser sends
`to a Web server a request indicating the boundaries of the
`new map view. The Webserver in turn extracts the corre-
`sponding vector-based map data from a database, and draws
`a bitmap image of the map. The server then converts the
`bitmap to an image format supported by the user’s Web
`browser and returns the image, sometimes embedded in
`HTML,to the user’s Web browser so that it can be dis-
`played. Other map Websites, such as Britain’s MultiMaps or
`Australia’s Wherels utilize a raster-based map database
`instead. In these cases, it is not necessary to extract vectors
`and draw a map image. Rather, these functions are replaced
`by simply extracting the appropriate part of a larger, pre-
`rendered image.
`
`[0005] Whether vector-based or raster-based, such exist-
`ing map systems typically have a scale either on or next to
`the map image. A map scale generally indicates the rela-
`tionship between a certain distance on the map and the
`corresponding distance on the ground, and can be used to
`help the user of the map approximate actual distances
`covered by the map. The scale is normally generated on the
`server side, and is embedded in the map imageservedto the
`client. In this way, the scale is updated when a new map
`image is loaded.
`
`[0006] Avscale is typically provided in one of two ways: a
`written scale or a graphic scale. A written scale gives a
`description of scale in words (e.g., “one inch equals one
`mile’’). Note that such a scale would beineffective, however,
`if the map is zoomed or otherwise reproduced at a size
`different than the original map size to which the written scale
`
`was directed. Thus, if a user attempts to measure an inch on
`a modified version of the map, incorrect distance informa-
`tion will be obtained. Moreover, users are required to
`provide their own device for measuring distances on the
`map.
`
`[0007] A graphic scale generally solves someof the prob-
`lems associated with written scales. A graphical scale is
`usually depicted as a horizontal line and a corresponding
`distance (e.g., miles, yards, feet) which that. line represents
`on the map. The corresponding distance can be placed in the
`middle of the line, or at the end of the line. Some maps
`provide multiple lines to provide scales in more than one
`unit of distance, such as one line for miles and another line
`for kilometers. However, such conventional graphic map
`scales are also associated with a numberof problems.
`
`[0008] For instance, some graphical scales are not always
`updated with panning and zoom or resize operations per-
`formed by the user. This is of particular concern when the
`scale imageis separate from the map image. Moreover, note
`that at various zoomed out levels, the scale ratio of the top
`portion of the shown map can be different than the scale ratio
`of the bottom portion of the shown map, depending on the
`map projection used. In addition, conventional graphical
`scales require a user to provide his/her own device for
`measuring distances on the map, and relating that device to
`the distances shown on the graphical scale.
`
`therefore, are digital mapping
`is needed,
`[0009] What
`techniques that provide more accurate and useful map
`scales.
`
`SUMMARY OF THE INVENTION
`
`[0010] One embodimentof the present invention provides
`a computer implemented method for adjusting and using a
`graphical map scale of a digital map provided by a digital
`mapping system.In response to the digital map being moved
`or zoomed,
`the method includes updating the scale as
`necessary. In response to the scale being moved on the
`digital map, the method includes switching from a scale
`mode to a measuring tool mode. The method may further
`include the preliminary step of receiving information that
`influences the scale behavior, including information about at
`least one of scale position on the map and zoom level. The
`information that influences the scale behavior may identify
`a map projection used in making the digital map. The
`information that influences the scale behavior may include
`information about user preferences, includingat least one of
`desired scale units and desired scale distance. Updating the
`scale as necessary may include drawing the scale so each
`unit is a correct numberof pixels wide (e.g., based on scale
`units and scale distance), and addingthe scale distance to the
`scale as text. Updating the scale as necessary may include
`drawing the scale so each unit is a correct distance (e.g.,
`based on map projection used and scale location on the
`digital map), and adding the distance to the scale as text.
`Switching from scale mode to measuring tool mode may
`include, for example, changing a graphical look of the scale
`to indicate measuring tool mode is active. The digital
`mapping system may include, for instance, a client side that
`requests map data from a server side, and the method is
`carried out on the client side.
`
`In the scale mode, the method may include gener-
`[0011]
`ating a tool tip in response to a user moving a cursor overthe
`
`11
`
`11
`
`
`
`US 2006/0206264 Al
`
`Sep. 14, 2006
`
`scale, thereby communicating availability of the measuring
`tool mode. In scale mode, the method may include at least
`one of opening an information window in responseto a user
`selecting the scale, thereby allowing the user to specify units
`of measure for the scale, and opening an information win-
`dow in response to a user selecting the scale,
`thereby
`showing the user information describing how to use the
`scale as a measuring tool to measure distances on the map.
`In the measuring tool mode, the method mayinclude indi-
`cating a homeposition for the scale on or proximate the
`digital map.
`In response to a user selecting the home
`position, the method may further include returning from
`measuring tool mode to scale mode, and returning the scale
`to the home position. In the measuring tool mode,
`the
`method may include displaying a distance between locations
`marked by endpoints of the scale, the distance in units of the
`scale. In measuring tool mode, the method may include
`opening an information window in response to a user
`selecting the scale,
`thereby allowing the user to request
`driving directions for travel between locations marked by
`endpoints of the scale. The method may further include
`providing the driving directions. In measuring tool mode,
`the method mayinclude opening an information window in
`response to a user selecting the scale, thereby showing the
`user information about points marked by the scale (such as
`latitude/longitude, geocode).
`[0012] Another embodimentof the present invention pro-
`vides a computer implemented method for adjusting and
`using a graphical map scale of a digital map provided by a
`digital mapping system. In response to the scale being
`moved on the digital map, this embodimentincludes switch-
`ing from a scale mode to a measuring tool mode, and
`displaying a distance between locations marked by end-
`points of the scale,
`the distance in units of the scale.
`Switching from scale mode to measuring tool mode may
`include changing a graphical look of the scale to indicate
`measuring tool mode is active. The scale includes,
`for
`example, a line between two endpoints, and in measuring
`tool mode, the method includes drawing the scale to reflect
`its movementas the endpoints are moved to locations on the
`digital map. In one such case, drawingthescaletoreflect its
`movementincludes changing a graphical look of at least one
`of the endpoints of the scale to indicate its movement, and
`changing the graphical look of the at least one endpoint to
`indicate it has been released from movement. In another case
`
`where the scale includes a line between two endpoints, and
`in measuring tool mode, the method includes drawing an
`additional endpoint each time a user drags the line between
`two endpoints to a location on the map, thereby providing a
`multisegment line. In such a case, the method may include
`converting the multisegmentline into at least one of written
`and graphical driving directions.
`[0013] Another embodimentof the present invention pro-
`vides a computer implemented method for adjusting and
`using a graphical map scale of a digital map provided by a
`digital mapping system. In response to the scale being
`moved on the digital map, this embodimentincludes switch-
`ing from a scale mode to a measuring tool mode, and
`drawing the scale to reflect its movementon the digital map,
`the scale including a line between two endpoints. The
`method further includes changing the graphical look of the
`scale to indicate it is no longer moving, and displaying a
`distance between locations marked by the endpoints of the
`scale, the distance in units of the scale. In measuring tool
`
`the method may include opening an information
`mode,
`window in response to a user selecting the scale, thereby
`allowing the user to request driving directions for travel
`between locations marked by endpoints of the scale. The
`method mayfurther include providing the driving directions.
`In the measuring tool mode, the method may include draw-
`ing an additional endpoint each time a user drags the line
`between two endpoints to a location on the map, thereby
`providing a multisegment line. This multisegmentline can,
`for example, trace a desired route. The method may further
`include opening an information window in response to a
`user selecting the scale, thereby showing the user informa-
`tion about points marked by the scale.
`
`[0014] The features and advantages described herein are
`notall-inclusive and, in particular, many additional features
`and advantages will be apparent to one of ordinary skill in
`the art in view of the figures and description. Moreover, it
`should be noted that the language used in the specification
`has been principally selected for readability and instruc-
`tional purposes, and notto limit the scope of the inventive
`subject matter.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0015] FIGS. 1a and 16 illustrate a combined scale and
`measuring too]that is currently in scale mode, in accordance
`with one embodimentof the present invention.
`
`FIG.2 illustrates a combined scale and measuring
`[0016]
`tool that is currently in tool mode and measuring the distance
`between twouser selected points, in accordance with one
`embodiment of the present invention.
`
`[0017] FIGS. 3a through 3c illustrate a combined scale
`and measuring tool
`that
`is currently in tool mode and
`measuring the distance between three user selected points, in
`accordance with one embodiment of the present invention.
`
`[0018] FIG. 4 is a block diagram of a digital mapping
`system that employs a combined scale and measuring tool,
`in accordance with one embodiment of the present inven-
`tion.
`
`FIG.5 illustrates a method for dynamically updat-
`[0019]
`ing,
`in response to map changes, a combined scale and
`measuring tool operating in scale mode, in accordance with
`one embodimentof the present invention.
`
`FIG.6 illustrates a method for dynamically updat-
`[0020]
`ing, in response to user input, a combined scale and mea-
`suring tool operating in tool mode, in accordance with one
`embodiment of the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`is
`[0021] A combined map scale and measuring tool
`disclosed herein that can be used in a digital mapping
`system. To provide added functionality to the scale without
`incurring undesirable processing delay, the scale is drawn on
`the client side. Thus, it can be quickly updated with every
`pan, zoom or resize operation the user performs. The user
`can also manipulate the scale to, for example, set its units
`and use it as a distance measuring tool. However,
`it
`is
`possible that the same functionality could be provided from
`the server side, but with processing delay.
`
`12
`
`12
`
`
`
`US 2006/0206264 Al
`
`Sep. 14, 2006
`
`[0022] Overview
`
`[0023] The combined map scale and measuring tool has
`two general modes of operation: scale mode and tool mode:
`In the scale mode, the scale indicates the correct scale, for
`instance, at the center of the map, or at the position on the
`map that the scale occupies. In more detail, the scale varies
`at different points on the map view, depending on the map
`projection used. Thus, a tool tip can be used to indicate
`where the scale shown is valid (e.g., “Scale at center of
`map’”’). The user can determine wherethescale is valid, if so
`desired (e.g., using a “set scale” configuration parameter). In
`any case, the scale is updated with every pan, zoom orresize
`operation the user performs. At zoomed outlevels (e.g.,
`showing map image of North America), the scale of the top
`and bottom of the shown map can vary greatly (depending
`on the map projection used) andis adjusted accordingly. The
`scale can be drawn, for example, as a line with one or more
`segments of different color, with text indicating the length of
`each segment, be it 1 mile, 100 feet or any other measure of
`distance. The scale can be configurable as well. For instance,
`if the user clicks on or otherwise selects the scale, a dialog
`box appears that allows the user to specify the desired scale
`units.
`
`In addition, an element (e.g. colored circle) is
`[0024]
`added to each end of the line making up the scale. A tooltip
`can be used to show the user that
`these endpoints are
`dragable, and that the scale can be used as a measuringtool.
`The tool modeis entered once the user drags one ofthe scale
`endpoints. In one particular embodiment, once the user
`drags the endpoints,
`the look of the endpoints can be
`converted, for instance, to have the look of location markers
`(e.g., such as those shown in the previously incorporated
`USS. application Ser. No. 11/051,534). The line between the
`two endpoints of the measuring tool can be drawn at the
`client to look similar to the scale segments shown when in
`scale mode, if so desired. Alternatively, the line between the
`tool endpoints can be just a plain line.
`
`[0025] The distance on the map betweenthe two endpoints
`of the tool can be displayed (e.g., in a dialog box near one
`of the markersor in the middle of the line). The user can drag
`each endpoint repeatedly, to take multiple measurements
`between positions on the map. Whenthe user clicks one of
`the tool endpoints, an info window can be opened that
`includes relevant information about the point (e.g., latitude/
`longitude, geo code) and distance information, as well as a
`link or button that allows the user to convert the straightline
`to driving directions. When the user select
`this option,
`driving directions are generated between the two endpoints.
`The directions can be shown, for example, instead of the
`measuring line.
`
`[0026] When the combined scale and measuring tool is in
`tool mode, a default or homeposition of the scale (e.g.,
`lowerleft corner of map) can be marked, for instance, using
`a dark or shaded outline. If the user clicks this outline, then
`the deployed measuringtoolis returned to its homeposition
`and switched back to scale mode (including the associated
`look of the scale). This switch from tool modeto scale mode
`can also be done, for instance, if the user navigates too far
`from the location of the measuring tool, or after a preset
`time.
`
`If the user drags a point on the line between the
`[0027]
`endpoints of the measuring tool (instead of the endpoints),
`
`then a new point can be added. For instance, assume the
`measuring tool currently has one straight line between two
`endpoints. If the user drags a point on the line between the
`endpoints, then a new point is added and the measuring tool
`nowshowsthree points, and the two lines between them. An
`info window(or windows) can be used to showall distances.
`A new point can be added each time the user drags a point
`on the line instead of an endpoint of the tool. The user can
`then convert these multi-segment lines into driving direc-
`tions, with directions through all the points. If the user drags
`an endpointofthe tool on top of an existing location marker,
`then that location marker can be highlighted (e.g., color
`change) to indicate that the tool endpoint is actually co-
`located with the location marker, without having to actually
`cover the marker with the endpoint. For instance, if an
`adjacent
`location marker is green,
`then the nearby tool
`endpointis actually at the location marker position.
`[0028]
`Scale Mode
`[0029] FIGS. 1a and 16 illustrate a combined scale and
`measuring tool configured in accordance with one embodi-
`ment of the present invention. As can be seen, a user has
`accessed a remote server of a digital mapping system
`through use of a browser, and requested a digital map for a
`specific address by typing that address into the location
`request entry field 120, and then clicking search. The
`requested map is displayed in the user’s browser, and has a
`numberof digital map features, including directional map
`control objects 115, zoom control objects 110, a location
`marker 125 (to highlight
`the requested address), and a
`combined map scale and measuring tool 105 (which is
`currently in scale mode).
`[0030] Functionality and implementation details associ-
`ated with the combined map scale and measuring tool 105
`are discussed herein. Other features and functionality of the
`map, such as the zoom control objects 110, directional map
`control objects 115, location request entry field 120, location
`marker 125 (and associated information windows), high
`resolution printing, and the satellite imagery option are
`discussed in detail
`in the previously incorporated U.S.
`application Ser. Nos. 11/051,534 and 11/088,542, which
`describe tile-based mapping systems. Note, however, a
`combined map scale and measuring tool 105 configured in
`accordance with the principles of the present invention can
`also be used with other mapping systems, such as vector-
`based and raster-based mapping systems.
`[0031]
`In the scale mode, the combined map scale and
`measuring tool 105 indicates the correct scale at the center
`of the map. Alternatively,
`the combined map scale and
`measuring tool 105 indicates the correct scale at the position
`on the map that the scale occupies. In any such case, the
`combined map scale and measuring tool 105 is updated with
`every pan, zoom, or resize operation the user performs. In
`one embodiment, this dynamic scale updating is carried out
`using a function (e.g., function UpdateScale). This function
`takes information about the map position and zoom level, as
`well as other data meant to influencethe scale behavior(e.g.,
`such as projection type). The function is called every time
`the map is moved or zoomed. Thus, the function is respon-
`sible for updating the scale on the map. The function can be
`called at the end of a map operation, such as a user dragging
`the map. Alternatively, the function can be called every time
`the map moves during the dragging operation. Whether
`post-navigation scale updatingorreal-time scale updating is
`
`13
`
`13
`
`
`
`US 2006/0206264 Al
`
`Sep. 14, 2006
`
`used depends on the performance of the client (e.g., pro-
`cessing speed and browser configuration).
`
`[0032] At zoomedoutlevels (e.g., showing map image of
`a continent or world map), the scale of the top and bottom
`portions of the shown map can vary greatly (depending on
`the map projection used) and is adjusted accordingly. In
`more detail, all map projections attempt to fit the curved
`surface of the Earth onto a flat medium. As such, the shape
`of the flat map is a distortion of the true layout of the Earth’s
`surface. Mercator projection exaggerates the size (and to
`some extent, the shape) of mapareasthat are distant from the
`equator. For example, for maps made using Mercator pro-
`jection, Greenland is typically shown to be as large as
`Africa. In reality, however, Africa is about 13 times that of
`Greenland.
`
`[0033] Other cylindrical projections, as well as forms of
`equal-area projection can also be used, and the present
`invention is not intended to be limited to handling any one
`type of map projections. For instance, in maps made using
`the equal-area Gall-Peters projection, the shape, rather than
`the size of mapareasis distorted. In particular, areas near the
`equator are stretched vertically, and areas far from the
`equator are squashed. Such manipulation of shapestill
`impacts scale, just as with manipulationsin size performed
`using Mercator projection. In any such cases, the combined
`map scale and measuring tool 105 can be configured to
`adjust in accordance with its position on the map and the
`type of map projection used.
`
`In one such embodiment, a function (e.g., function
`[0034]
`UpdateScale) adjusts the scale based on the scale position on
`the map (e.g., latitude/longitude or geocode) and the pro-
`jection type. A lookup table (LUT), such as the one shown
`in Table 1, can be provided for each projection type sup-
`ported, where each table stores entries of scale information
`indexed by the distance of the scale position from the
`equator, which can be indicated, for instance, by latitude or
`a geocode. Alternatively, this functionality can be achieved
`using a formula, as will be apparent in light of this disclo-
`sure. Generally stated, for cylindrical projections, the scale
`for a given latitude is the same everywhere, regardless of
`longitude, assuming no change in zoom.
`
`TABLE1
`
`Scale Adjustment LUT for Mercator Projection
`
`Scale Position
`Latitude_1
`Latitude__2
`Latitude_3
`
`Scale Distance
`Multiplier
`1.0
`0.9
`0.8
`
`Latitude_N
`
`M
`
`[0035] The resolution of the table can vary from applica-
`tion to application, depending on desired degree of accuracy.
`For applications requiring high accuracy, the table can have
`an entry, for example, for every 100 to 500 miles from the
`equator (in both the northern and southern directions), while
`lesser demanding applications can have an entry for every
`500 to 1000 miles from the equator. In the example of Table
`1, assume the entries range from locations of northerly
`
`14
`
`increasing latitude, beginning with latitudes proximate the
`equator (Latitude_1) and ending at latitudes proximate the
`north pole (Latitude_N). A similar set of N latitudes can be
`used for map areas between the equator and south pole.
`
`[0036] For Mercator projection, the distance covered by
`the same scale length decreases as the distance from the
`equator
`increases
`(e.g., as
`indicated by latitude). For
`instance, a 100 pixel scale at Latitude_1 could represent 100
`miles. That same 100 pixel scale at Latitude_3 would
`represent 80 miles, and at Latitude_N would represent
`M*100 miles (e.g., 10 miles, assuming M=0.1). Numerous
`scale adjustment schemesare possible, depending on factors
`such as the desired resolution, scale accuracy, and map
`projection type used, and the present
`invention is not
`intended to be limited to any one such embodiment.
`
`[0037] For example, the scale length need not be constant,
`and can be calculated for each scale update, based on a
`desired scale distance, such as 1 mile, 2 miles, 5 miles,