CN1779682B - 用于知晓位置的应用程序的***和方法 - Google Patents

用于知晓位置的应用程序的***和方法 Download PDF

Info

Publication number
CN1779682B
CN1779682B CN2005101192014A CN200510119201A CN1779682B CN 1779682 B CN1779682 B CN 1779682B CN 2005101192014 A CN2005101192014 A CN 2005101192014A CN 200510119201 A CN200510119201 A CN 200510119201A CN 1779682 B CN1779682 B CN 1779682B
Authority
CN
China
Prior art keywords
map
application program
engine
location
location aware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005101192014A
Other languages
English (en)
Other versions
CN1779682A (zh
Inventor
F·曼泰克
I·W·萨尔姆瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1779682A publication Critical patent/CN1779682A/zh
Application granted granted Critical
Publication of CN1779682B publication Critical patent/CN1779682B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)
  • Stored Programmes (AREA)

Abstract

一种开发环境使得开发和使用知晓位置的应用程序变得更简易。将当前的位置信息收集、分析和显示的单独且复杂的任务相组合,并使它们集成,使得非专家也可将位置服务构建到其应用程序中提高了开发者编写丰富的知晓位置的应用程序的能力。高级编程模型允许程序员使用位置信息作为逻辑实体而非仅作为原始位置数据,诸如纬度和经度。位置数据存储和地图存储可由设备上不同的知晓位置的应用程序访问。每一位置应用程序并非依赖于其自己的数据存储,而是应用程序可共享它们的位置相关信息。

Description

用于知晓位置的应用程序的***和方法
技术领域
本发明涉及移动设备软件开发,尤其涉及用于使开发和使用知晓位置的软件应用程序变得简易的***和方法。
背景技术
在过去的几年中,开发了越来越多的利用位置信息的应用程序。这些位置应用程序中的某一些包括地图程序、飞行跟踪程序以及导航程序。这些应用程序中的许多是为移动计算设备开发的。例如,开发了车内导航***以帮助用户导航通过一个城市。某些蜂窝电话也包括基于GPS的导航程序。然而,很难开发这些应用程序。定位***通常仅提供位置数据,诸如纬度和经度,并且要求应用程序处理和解释该信息。
发明内容
本发明的实施例涉及一种用于使开发和使用知晓位置的软件应用程序变得简易的***和方法。将当前位置信息收集、分析和显示的单独且复杂的任务相组合,并使它们集成,使得非专家也能够将位置和地图服务构建到其应用程序中提高了开发者编写丰富的知晓位置的软件应用程序的能力。
依照一个方面,使用一种用于构建知晓位置的应用程序的应用程序编程接口。该高级编程模型针对允许程序员使用诸如纬度和经度等位置信息作为逻辑实体而非仅作为原始的位置数据。该位置信息被抽象成感兴趣的区域。开发者也不需要从事构建其自己的地图呈现软件,并可使用由第三方开发的呈现引擎。
依照本发明的另一方面,使用了一种事件驱动的编程模型来构建知晓位置的应用程序。事件可以响应于相对于感兴趣的区域定位物体来生成。例如,程序员指定当设备进入第一感兴趣区域时执行一个例程,并且当设备离开第二感兴趣区域时执行另一例程。
依照本发明的又一方面,可由不同的知晓位置的应用程序来访问位置数据存储。并非每一位置应用程序依赖于其自己的数据存储,而是应用程序可以共享其位置相关信息。
依照本发明的再一方面,可由不同的知晓位置的应用程序来访问共享地图。并非每一位置应用程序依赖于其自己的地图存储和地图呈现技术,而是应用程序可用共享的地图数据和地图呈现引擎存储库来工作。
本发明提供了一种用于知晓位置的应用程序的***,包括:确定一物体何时进入、退出感兴趣区域或在感兴趣区域内移动的装置;响应于所述确定生成一位置事件的装置;响应于所述事件执行由一知晓位置的应用程序所提供的事件驱动代码的装置;从地图存储中选择一地图的装置,其中,所述地图能够被其它知晓位置的应用程序共享;以及使用一地图呈现引擎显示所述地图的装置,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
本发明提供了一种用于知晓位置的应用程序的计算机实现的方法,包括:确定一物体何时进入、退出感兴趣区域或在感兴趣区域内移动;响应于所述确定生成一位置事件;响应于所述事件执行由一知晓位置的应用程序所提供的事件驱动代码;从地图存储中选择一地图,其中,所述地图能够被其它知晓位置的应用程序共享;以及使用一地图呈现引擎显示所述地图,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
本发明还提供了一种具有用于知晓位置的应用程序的方法,所述方法包括:定义感兴趣的区域;从一位置源获取物体的位置,并将所述位置储存在一位置存储中,其中,所述位置存储能够被其它知晓位置的应用程序共享;确定物体何时在所述感兴趣的区域之一内;当确定所述物体在所述感兴趣的区域之一内时,生成一位置事件;响应于所述位置事件执行与知晓位置的应用程序相关联的事件驱动代码;从一地图存储中选择一地图,其中,所述地图能够被其它知晓位置的应用程序共享;以及使用一地图呈现引擎显示所述地图,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
附图说明
图1和2示出了可用于本发明的示例性实施例的示例性计算设备;
图3示出了知晓位置的***;
图4示出了用于开发知晓位置的应用程序的交互的状态图;
图5示出了定义示例性感兴趣区域;
图6示出了可由知晓位置的应用程序使用的示例性地图;
图7示出了用于知晓位置的应用程序的示例性模拟屏幕截图;
图8是概括地示出依照本发明的各方面的知晓位置的开发***的功能框图。
具体实施方式
一般而言,本发明针对提供一种用于使开发和使用知晓位置的软件应用程序变得简易的***和方法。将当前的位置信息收集、分析和显示的单独且复杂的任务相组合,并使它们集成,使得非专家也可将位置服务构建到其应用程序中提高了开发者编写丰富的知晓位置的软件应用程序的能力。
说明性知晓位置的开发***
图3依照本发明的各方面示出了一个知晓位置的***。位置***300包括位置管理器320、知晓位置的应用程序330和地图管理器340。位置管理器被耦合到位置源325(1-N)。地图管理器被耦合到地图存储342、地图生成器344和地图web服务346。
位置管理器320被配置成从一个或多个设备位置源(325(1-N))接收位置信息,并将位置信息抽象成提供给知晓位置的应用程序330的位置事件。位置源可以是提供关于物体的位置信息的任何东西。例如,一个位置源可以是GPS接收器。另一位置源可以是指示物体的位置的用户输入。例如,用户可通过设备上的用户输入指示它们在某一位置处。用户可使用小键盘、触摸屏、语音识别等将位置输入到其设备中。其它位置源可以是模拟的位置源。开发者不必在现场来测试应用程序330,而是可使用模拟的位置数据。另一位置源可以是RFID标签。每一位置源可提供位置数据的不同分辨率。例如,某些位置源可以非常准确,而其它位置源可以仅对于一个街坊内、一条道路上等是准确的。
位置源可对应于近或远位置源。近源对应于包括但不限于GPS接收器的位置生成硬件,或对应于从网络信息中获取其位置的移动设备本身。远位置源对应于推出或拉入远程联网源的位置信息(例如,诸如携带着朋友的汽车位置到达的推出的SMS消息,或通过web请求返回(拉入)的位置信息)。近和远位置源都作为抽象逻辑实体来对待。这使得编程模型类似于许多不同种类的位置信息。
一旦接收到位置数据,位置管理器320确定是否触发了涉及应用程序330的任何位置事件。位置管理器320在出现具有与感兴趣区域的某一逻辑关系(诸如进入或离开感兴趣区域)的物体时提供位置事件,而不是只能向应用程序330提供来自位置源的原始位置数据。
一般而言,感兴趣区域提供了对位置数据的抽象(见图5和相关讨论)。感兴趣区域可涉及任何区域,并且可以是室内或室外。例如,室内位置可用于显示固定资产(例如,会议室)和/或可移动资产(例如,人、办公室设备、商品目录)的位置。
感兴趣的室外区域可以是城市街区、围绕建筑物或某一其它陆标的区域、或某一其它预定义区域。感兴趣的室外区域也可以是可移动资产(例如,汽车或人)。
应用程序330不必解释原始位置数据,而是基于物体与感兴趣区域的关系来注册位置事件。在发生预定义位置事件之后,位置管理器320通知应用程序330。此时,应用程序330执行一被开发成处理位置事件的事件驱动代码例程。
知晓位置的应用程序340响应于所生成的位置事件。在发生位置事件之后,知晓位置的应用程序330向地图管理器340提供一组加权的准则。例如,加权准则可包括简易的地图分辨率以及应用程序希望在它们所绘制的地图上显示的一组物体。应用程序也可提供它们希望在现有地图之上显示的物体。除应用程序响应于地图的事件驱动呈现之外,应用程序也可以是自驱动的。例如,应用程序可具有周期性地“拉入”信息并呈现新地图的定时器。因此,除“推出”事件驱动响应之外,应用程序也可“拉入”数据并采取行动。
地图管理器340从应用程序中抽象地图信息,使得它无需知道关于如何处理地图或位置信息的细节。应用程序不必包括复杂的地图呈现代码,而是提供具有它希望显示的地图的名称或类型的地图管理器340。地图生成器344不被绑定到任何单个应用程序或呈现引擎。例如,一个呈现引擎可以是基于矢量的,而另一呈现引擎可以是基于位图的。向知晓位置的应用程序330提供一个接口以与地图生成器344交互。
地图管理器340向知晓位置的应用程序提供了一组丰富的特征,而应用程序330无需知道关于如何实现地图代码的细节。例如,假定应用程序330希望允许用户指向地图上的一个区域然后将该数据转换成纬度和经度,或者在室内地图的情况下转换成室内坐标***。地图管理器340向应用程序330提供该信息。地图管理器340担当应用程序330和地图呈现技术之间的代理,并向应用程序提供功能。某些功能包括将设备上的X/Y屏幕坐标映射到地图上的纬度/经度/海拔地图坐标。例如,用户可在当前显示地图的屏幕上点击以输入其位置。响应于用户输入,地图管理器将X/Y屏幕位置映射到纬度/经度/海拔地图位置。类似地,地图管理器340将纬度/经度/海拔地图数据映射到X/Y屏幕位置,从而允许应用程序在当前显示的地图之上动态地呈现。某些地图呈现,诸如滑雪区域地图上的海拔可能会显著地影响X/Y位置。有许多中方法将X/Y坐标转换成纬度/经度/海拔坐标。一般而言,地图管理器接收X/Y屏幕坐标、将该坐标与地图进行匹配、然后基于地图的比例、其投影技术和地图边界来提供纬度/经度/海拔坐标。应用程序无需理解如何呈现地图本身或使用了什么“投影技术”。许多不同的地图投影技术都是可能的,包括但不限于,诸如墨卡托(Mercator)投影、圆柱投影、极投影、网格投影和自定义投影技术(例如,滑雪区域地图、体育场座位地图等等)等经典地图投影技术。应用程序可在不同的投影技术之间无缝地移动。
地图管理器340也向应用程序330提供关于该组可用地图的高级事件。这些事件向应用程序提供了重要的信息,诸如何时有满足应用程序所请求的准则的若干地图可用。应用程序330不限于使用单个地图来显示。例如,一个应用程序可使用街道地图用于一段时间,然后在另一时间使用大都市地图(例如,显示公共汽车路线、地铁隧道等)。地图管理器340依照其合适性顺序对地图进行分级。当没有满足由应用程序330提供的准则的地图可用,但地图管理器340可定位满足某些准则的地图时,可提供那些地图。
地图管理器340允许将新地图动态地供应到设备上。地图可在任何时刻被下载到设备上。例如,当添加新的运输路线时,可下载新地图用于公共运输应用程序。依照一个实施例,这些地图是使用两个文件来表示的,一个是二进制文件,且对地图管理器是不透明的,另一个是它所理解的文件。依照一个实施例,地图是使用XML文件来表示的。地图管理器能够读取XML文件,并获得将地图添加到设备上的本地地图数据存储所需的信息。地图也可由开发者或通过其它来源被添加到地图存储。
以下是一个示例性XML表示。
-<MapData Version=″1.01″MapProjection=″SimpleGrid″MetersPerPixel=″2.80253449893166″MapInfoClass=″none″CustomMapRenderer=″none″>
 -<SimpleLatLongRectangle MapFileName=″device_map_1_0.PNG″>
    <MapCoordinate Position=″NorthWestCorner″Latitude=″50.78667″Longitude=″6.07814549019608″/>
    <MapCoordinate Position=″NortEastCorner″Latitude=″50.7867″Longitude=″6.09407106666667″/>
    <MapCoordinate Position=″SouthWestCorner″Latitude=″50.7766295454545″Longitude=″6.07814726827094″/>
    <MapCoordinate Position=″SouthEastCorner″Latitude=50.7766295454545″Longitude=″6.09406985757576″/>
  </SimpleLatLongRectangle>
</MapData>
MapProjection指用于显示地图的技术。在这一特定示例中,地图投影类型是简单的网格。MetersPerPixel指地图的平均分辨率。MapInfoClass指是否存在需要回答关于该地图的问题的自定义类。该字段允许开发者在编程环境内包括当显示地图时可被调用的自定义类。类似地,CustomMapRender指是否需要自定义呈现引擎来绘制地图。MapFileName字段指包含将用于绘制地图的地图呈现引擎的信息。SimpleLatLongRectangle字段将地图标识为由纬度和经度坐标定义的矩形。
以下示例示出了使用的某些自定义字段。
-<MapData Version=″1.01″MapProjection=″SimpleGrid″MetersPerPixel=″2.80253449893166″MapInfoClass=″CustomMapInfo1″CustomMapRenderer=″CustomMapRender1″>
  <CustomMaplnfo1 MapFileName=″device_map_1_0.PNG″classld=″CustomMapEngine.MapInfoParser″/>
  <CustomMapRender1 MapFileName=″device_map_1_0.PNG″classld=″CustomMapEngine.MapRenderEngine″/>
</MapData>
地图管理器340在可由应用程序330使用的地图存储(342)中可具有设备上可用的多个地图。地图管理器340仔细搜索地图存储342中设备上可用的地图组,并查找要使用的最佳地图。在搜索之后,选择并呈现最适合的地图。
图4依照本发明的各方面示出了用于开发知晓位置的应用程序的交互的状态图。
在状态410开始,定义感兴趣的地理区域。对感兴趣的区域的选择可在部署知晓位置的应用程序之前或之后发生。另外,该信息可在任何时刻被发送到设备。感兴趣的区域是与地图有关的预定义区域。该感兴趣区域可以是可定义的任何大小。例如,感兴趣区域的大小可以是一平方米或整个国家。感兴趣的区域是基于知晓位置的应用程序的需求来定义的。例如,假定所开发的知晓位置的应用程序确定孩子何时离开学校回家。在这一特定示例中,感兴趣的区域可以是包括学校的区域以及包括孩子的家的另一感兴趣区域。某些感兴趣区域可由开发者选择,而其它感兴趣区域可由用户选择。例如,诸如上述示例等许多应用程序是在向用户提供了应用程序之后配置的。在上述示例中,父母可选择感兴趣的区域。
状态420允许选择地图和地图服务器。开发者可在***上可用的地图之间选择,或者可创建其自己的地图。依照本发明的一个实施例,可用地图是在各位置应用程序之间共享的,使得不同的知晓位置的应用程序可使用相同的地图。以此方式,每一知晓位置的应用程序不需要开发其自己的地图。在大多数情况下,地图呈现的细节对知晓位置的应用程序的开发者隐藏。万一开发者期望包括其自己的呈现软件,他们可在状态440将其呈现软件结合到该环境中。
在状态440,开发者也可设置其自己的偏好用于呈现。例如,开发者可希望使用基于矢量的呈现引擎用于应用程序的一部分,而使用基于位图的***用于应用程序的另一部分。地图引擎可由许多不同的源提供。希望构建引擎的任何开发者可提供符合编程接口的地图引擎。每一地图引擎被***到开发***中。
在状态430,开发者对基于事件的位置代码进行编程,该代码响应于其应用程序内与感兴趣区域相关联的事件而执行。该基于事件的代码依赖于所开发的知晓位置的应用程序的类型,并且可包括许多不同类型的数据。例如,程序可在用户到达预定位置时执行动作。在上述跟踪孩子的示例中,一个示例例程可被设计成基于在该特定时刻孩子的位置加亮家或学校。开发者也可响应于事件将物体放入地图中。
在状态450,可使用真实和/或模拟的位置源来测试知晓位置的应用程序。该***提供位置源的模拟器,使得应用程序可在它被现场应用于人们之前被测试。使用模拟的数据源允许开发者在发生位置事件时测试基于事件的位置代码。对模拟的位置源数据的另一使用是“回放”先前记录的真实世界位置数据。这对于应用程序开发、测试和调试是有用的。
图5依照本发明的各方面示出了定义示例性感兴趣区域。如图5所示,定义了两个感兴趣的区域。感兴趣区域#1是由椭圆边界区域来定义的,而感兴趣区域#2是由矩形边框来定义的。尽管使用预定的几何形状来定义感兴趣区域,然而感兴趣区域还可以用定义区域的任何方法来定义。例如,感兴趣区域可以被定义为街坊、国家、特定道路之间的区域等等。依照本发明的一个实施例,开发者使用一组预定义的形状来指定感兴趣的区域。用户也可选择地图上的一点,然后提供从该点开始延伸的半径范围作为感兴趣的区域。感兴趣的区域也可使用纬度和经度坐标来设置。
尽管图5所示的地图示出了包括街道的城市地图,然而地图可以是任何类型的地图。例如,地图可以是滑雪地图、森林地图、公园、高尔夫球场、建筑物平面布置图、体育馆座位地图等等。如上所述,当指定感兴趣的区域时,可基于某样东西进入或离开该区域而触发事件。
尽管未示出,但感兴趣区域可以是某种类型的位置。例如,知晓位置的应用程序可以对知道它何时靠近咖啡店或电影院感兴趣。在这一特定示例中,***知道的每一咖啡店或电影院可以是感兴趣区域。当越来越多的咖啡店变得可用时,其位置可以被动态地添加到应用程序,使得应用程序知道他们。其它知晓位置的应用程序可将感兴趣区域定义为特定商店、体育竞技场、公共汽车站、办公楼等等。
图6依照本发明的各方面示出了可由知晓位置的应用程序使用的示例性地图。如图所示,这些地图可被定义为按纬度和经度来定义的简单矩形。四个地图中的每一个包括左上角纬度和经度以及右下角纬度和经度。如上文参考图3所讨论的,地图可以按许多不同的方式来定义。任何知晓位置的应用程序可使用这些地图用于在适当时显示。
图7依照本发明的各方面示出了用于知晓位置的应用程序的一个示例性模拟屏幕截图。在模拟器内,显示了两个地图视图,包括较小但更详细的视图和全局的总视图。在地图上所示的是预定义的感兴趣区域,它们由圆形区域和方形区域来表示。当模拟的运动进入或离开一个区域时,开发者可确定他们所开发的适当代码是否正确地工作。
说明性操作环境
参考图1,用于实现本发明的一个示例性***包括诸如计算设备100的计算设备。在最基本的配置中,计算设备100通常包括至少一个处理单元102和***存储器104。根据计算设备的确切配置和类型,***存储器104可以是易失性(如RAM)、非易失性(如ROM、闪存等)或两者的某一组合。***存储器104通常包括操作***105、一个或多个应用程序106,并且可包括程序数据107。在一个实施例中,应用程序106包括在用于移动设备的知晓建筑物位置的应用程序中使用的知晓位置的编程接口120。该知晓位置的编程接口可与地图选择、管理和呈现接口集成。这一基本配置在图1中由虚线108内的组件示出。
计算设备100可具有另外的特征或功能。例如,计算设备100也可包括另外的数据存储设备(可移动和/或不可移动),如磁盘、光盘或磁带。这类另外的存储在图1中由可移动存储109和不可移动存储110示出。计算机存储介质可包括以用于储存如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法和技术实现的易失性和非易失性、可移动和不可移动介质。***存储器104、可移动存储109和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存期望的信息并可由计算设备100访问的任一其它介质。任一这类计算机存储介质可以是设备100的一部分。计算设备100也可具有(多个)输入设备112,如键盘、鼠标、输入笔、语音输入设备、触摸输入设备等等。也可包括(多个)输出设备114,如显示器、扬声器、打印机等等。
计算设备100也包含允许设备如通过网络与其它计算设备118进行通信的通信连接116。通信连接116是通信介质的一个示例。通信介质通常可以具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。本发明使用的术语计算机可读介质包括存储介质和通信介质两者。
图2示出了在本发明的一个示例性实施例中使用的移动计算设备。参考图2,用于实现本发明的一个示例性***包括移动计算设备200。移动计算设备200包括处理器260、存储器262、显示器228和小键盘232。存储器262一般包括易失性存储器(如RAM)和非易失性存储器(如ROM、闪存等)。移动设备200包括操作***264,诸如微软公司的Windows CE操作***或另一操作***,它驻留在存储器262中并在处理器260上执行。小键盘232可以是按钮数字拨号盘(如在典型的电话上的)、多键键盘(如常规的键盘)。显示屏228可以是液晶显示屏或通常在移动计算设备中使用的任一其它类型的显示屏。显示屏228可以是触敏的,并且然后可以担当输入设备。
一个或多个应用程序,诸如位置应用程序266被加载到存储器262中并在操作***264上运行。一个或多个知晓位置的应用程序(266)驻留在移动计算设备200上,并被编程为执行涉及基于位置的应用程序的指令。知晓位置的应用程序可以驻留在设备的硬件或软件中。移动设备200也包括存储器262内的非易失性存储268。存储器262也包括用于储存基于位置的信息的数据存储258可用于储存基于地图的信息的地图存储269。位置存储268是用于储存可由设备上所有知晓位置的应用程序(266)使用的位置的全局工具。地图存储269也是用于储存可由设备上的所有知晓位置的应用程序(266)使用的地图信息的全局工具。依照一个实施例,存储库(268)是位置和地图信息的设备上高速缓存。移动设备200上可以有一个以上位置存储。例如,可以有私有和公有位置数据存储。
移动设备200包括电源270,它可以被实现为一个或多个电池。电源270还可包括外部功率源,如对电池进行补充或重新充电的AC适配器或加电对接托架。
示出了移动设备200具有两种类型的可任选外部通知机制:LED 240和音频接口274。这些设备可以直接耦合至电源270,使得当被激活时,即使处理器260和其它组件可能被关闭以保存电池功率,它们也能保持由通知机制指定的一段持续时间。音频接口274用来向用户提供并从其接收可听见的信号。例如,音频接口274可以耦合至用于提供可听见输出的扬声器以及用于接收可听见输入的麦克风,如方便电话会议。
移动设备200也包括诸如无线电接口层等通信连接,它执行发送和接收通信的功能。通信连接272方便了移动计算设备200和外部世界之间的无线连接。依照一个实施例,自和至通信连接272的传输在操作***264的控制下进行。
图8是依照本发明的各方面概括地示出知晓位置的开发***800的功能框图。服务器810和计算设备830是诸如上文结合图1所描述的计算设备,而移动设备820是诸如上文结合图2所描述的的移动计算设备。
通常,用户使用诸如计算设备830等计算设备开发知晓位置的应用程序。然而,该知晓位置的应用程序也可使用诸如移动设备820等移动设备来开发。知晓位置的编程环境832被配置成向开发者提供一组编程接口,来开发知晓位置的应用程序。应用程序832被配置成与服务器810通信。依照一个实施例,服务器810被配置成向计算设备830提供来自位置存储812的位置信息以及来自地图存储813的地图信息。服务器810或移动设备也可被配置成在开发知晓位置的应用程序时模拟位置源,例如,模拟的位置源可在移动设备上运行,且模拟GPS源等的输入。计算设备可使用若干客户机-服务器协议中的任何一种来通信。
移动设备820包括使用知晓位置的编程环境(832)来开发的知晓位置的应用程序822。可在设备820上包括一个以上知晓位置的应用程序。附加到移动设备822的是N个位置源(821(1-N))。如上所述,这些位置源不论是否在设备上,都向位置应用程序822提供了位置数据。位置存储824包括可由设备820上的所有知晓位置的应用程序访问的位置信息。地图存储825包括可由设备820上的所有知晓位置的应用程序访问的地图信息。例如,位置存储824和地图存储825可包括地图、呈现引擎以及可在应用程序之间共享的任何其它信息。
蜂窝/寻呼网络850是负责向无线设备传送消息以及从无线设备接收消息的网络。蜂窝/寻呼网络850可包括无线和有线组件。例如,蜂窝/寻呼网络可包括链接到有线电话网络的蜂窝塔。通常,蜂窝塔承载来往于蜂窝电话的通信、长距离通信链路等等。无线设备也可使用诸如Wi-Fi等正变得越来越可用于移动设备的硬件直接连接到WAN、LAN等等。
网关860在蜂窝/寻呼网络850和WAN/LAN 840之间路由消息。例如,计算机用户可发送定址到蜂窝电话的消息。网关860提供用于将消息从WAN/LAN 840传输到蜂窝/寻呼网络850的装置。相反,其设备连接到蜂窝网络的用户可浏览web。网关860允许在WAN/LAN 840和蜂窝/寻呼网络850之间传输超文本协议(HTTP)消息。
以上说明书、示例和数据提供了对本发明的组成部分的制造和使用的完整描述。由于可做出本发明的许多实施例而不偏离本发明的精神和范围,因此本发明归于所附权利要求书。

Claims (26)

1.一种用于知晓位置的应用程序的***,包括:
确定一物体何时进入、退出感兴趣区域或在感兴趣区域内移动的装置;
响应于所述确定生成一位置事件的装置;
响应于所述事件执行由一知晓位置的应用程序所提供的事件驱动代码的装置;
从地图存储中选择一地图的装置,其中,所述地图能够被其它知晓位置的应用程序共享;以及
使用一地图呈现引擎显示所述地图的装置,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
2.如权利要求1所述的***,其特征在于,还包括定义感兴趣的区域的装置,其中,所述感兴趣的区域是地图上的预定义区域。
3.如权利要求1所述的***,其特征在于,确定物体何时进入和退出感兴趣的区域的装置包括从至少一个位置源获取位置信息,以及确定所述物体是否在所述感兴趣的区域内的装置。
4.如权利要求3所述的***,其特征在于,生成位置事件的装置包括响应于以下事件的至少一个生成位置事件的装置:确定物体的位置已进入感兴趣的区域、确定物体的位置已退出感兴趣的区域、以及确定物体的位置在感兴趣的区域内已移动了一指定距离。
5.如权利要求3所述的***,其特征在于,还包括向所述地图呈现引擎提供至少一个对象以置于地图上的装置。
6.如权利要求1所述的***,其特征在于,还包括动态地供应所述地图存储的装置。
7.如权利要求1所述的***,其特征在于,所述地图包括使用XML表示对所述地图的描述。
8.如权利要求1所述的***,其特征在于,所述描述包括地图投影;分辨率;用于显示所述地图的地图呈现引擎的指示以及所述地图包括的区域。
9.一种用于知晓位置的应用程序的计算机实现的方法,包括:
确定一物体何时进入、退出感兴趣区域或在感兴趣区域内移动;
响应于所述确定生成一位置事件;
响应于所述事件执行由一知晓位置的应用程序所提供的事件驱动代码;
从地图存储中选择一地图,其中,所述地图能够被其它知晓位置的应用程序共享;以及
使用一地图呈现引擎显示所述地图,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
10.如权利要求9所述的方法,其特征在于,还包括定义感兴趣的区域,其中,所述感兴趣的区域是地图上的预定义区域。
11.如权利要求10所述的方法,其特征在于,确定物体何时进入和退出感兴趣的区域包括从至少一个位置源获取位置信息,以及确定所述物体是否在所述感兴趣的区域内。
12.如权利要求10所述的方法,其特征在于,生成所述位置事件包括响应于以下事件的至少一个生成位置事件:确定物体的位置已进入感兴趣的区域、确定物体的位置已退出感兴趣的区域、以及确定物体的位置在感兴趣的区域内已移动了一指定距离。
13.如权利要求10所述的方法,其特征在于,还包括向所述地图呈现引擎提供至少一个对象以置于地图上。
14.如权利要求10所述的方法,其特征在于,还包括动态地供应所述地图存储。
15.如权利要求10所述的方法,其特征在于,所述地图包括使用XML表示对所述地图的描述。
16.如权利要求15所述的方法,其特征在于,所述描述包括地图投影;分辨率;用于显示所述地图的地图呈现引擎的指示以及所述地图包括的区域。
17.一种具有用于知晓位置的应用程序的方法,所述方法包括:
定义感兴趣的区域;
从一位置源获取物体的位置,并将所述位置储存在一位置存储中,其中,所述位置存储能够被其它知晓位置的应用程序共享;
确定物体何时在所述感兴趣的区域之一内;
当确定所述物体在所述感兴趣的区域之一内时,生成一位置事件;
响应于所述位置事件执行与知晓位置的应用程序相关联的事件驱动代码;
从一地图存储中选择一地图,其中,所述地图能够被其它知晓位置的应用程序共享;以及
使用一地图呈现引擎显示所述地图,其中,所述地图呈现引擎是从至少两个地图呈现引擎中选择的。
18.如权利要求17所述的方法,其特征在于,还包括在部署所述知晓位置的应用程序之后定义所述感兴趣的区域。
19.如权利要求18所述的方法,其特征在于,还包括确定所述物体何时在所述感兴趣区域之一外,并响应于所述物体在外部,生成所述位置事件。
20.如权利要求17所述的方法,其特征在于,还包括向所述地图呈现引擎提供至少一个对象以置于所述地图上。
21.如权利要求17所述的方法,其特征在于,还包括动态地供应所述地图存储。
22.如权利要求17所述的方法,其特征在于,所述地图包括使用XML表示对所述地图的描述。
23.如权利要求22所述的方法,其特征在于,所述描述包括地图投影;分辨率;用于显示所述地图的地图呈现引擎的指示以及所述地图包括的区域。
24.如权利要求17所述的方法,其特征在于,从所述地图存储中选择所述地图包括响应于从所述知晓位置的应用程序接收的加权准则确定最适合的地图。
25.如权利要求17所述的方法,其特征在于,使用所述地图呈现引擎显示所述地图包括根据所呈现的地图的类型在各地图呈现引擎之间切换。
26.如权利要求25所述的方法,其特征在于,使用所述地图呈现引擎显示所述地图包括根据所呈现的地图的类型选择一投影技术,其中,所述投影技术是从以下各技术中的至少两个投影技术中选择的:墨卡托投影、极投影、网格投影和自定义投影。
CN2005101192014A 2004-11-26 2005-10-26 用于知晓位置的应用程序的***和方法 Expired - Fee Related CN1779682B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/998,081 2004-11-26
US10/998,081 US7627425B2 (en) 2004-11-26 2004-11-26 Location aware mobile-device software development

Publications (2)

Publication Number Publication Date
CN1779682A CN1779682A (zh) 2006-05-31
CN1779682B true CN1779682B (zh) 2010-09-08

Family

ID=35844842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101192014A Expired - Fee Related CN1779682B (zh) 2004-11-26 2005-10-26 用于知晓位置的应用程序的***和方法

Country Status (5)

Country Link
US (3) US7627425B2 (zh)
EP (1) EP1662407A3 (zh)
JP (1) JP4938284B2 (zh)
KR (1) KR20060059167A (zh)
CN (1) CN1779682B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627425B2 (en) * 2004-11-26 2009-12-01 Microsoft Corporation Location aware mobile-device software development
US7739038B2 (en) 2004-12-17 2010-06-15 Information Patterns Llc Methods and apparatus for geo-collaboration
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US7519470B2 (en) * 2006-03-15 2009-04-14 Microsoft Corporation Location-based caching for mobile devices
CN100423597C (zh) * 2006-06-08 2008-10-01 ***通信集团公司 嵌入移动终端的地图引擎及移动终端地图平台
US20080129487A1 (en) * 2006-11-30 2008-06-05 Crucs Holdings, Llc System and method for managing characteristics of a domain occupied by individuals
US20080133653A1 (en) * 2006-12-05 2008-06-05 Qualcomm Incorporated Apparatus and methods of providing and presenting representations of communication events on a map
US8364293B2 (en) * 2007-02-07 2013-01-29 Skyhawke Technologies, Llc Situation-neutral golf metrics systems and methods
JP4513833B2 (ja) * 2007-07-17 2010-07-28 株式会社デンソー 車両用衝突検知装置
US8583079B2 (en) 2007-08-14 2013-11-12 Mpanion, Inc. Rich presence status based on location, activity, availability and transit status of a user
US8489111B2 (en) 2007-08-14 2013-07-16 Mpanion, Inc. Real-time location and presence using a push-location client and server
US8050690B2 (en) * 2007-08-14 2011-11-01 Mpanion, Inc. Location based presence and privacy management
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US20100311401A1 (en) * 2009-06-09 2010-12-09 Sprint Communications Company L.P. Communication session transfer from one communication device to another based on location correlated to time
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US20110191662A1 (en) * 2010-01-29 2011-08-04 Poteet Ii David Crawford Travel guides formed by aggregation of location-aware content from multiple publishers through a unified interface
US8239840B1 (en) * 2010-03-10 2012-08-07 Google Inc. Sensor simulation for mobile device applications
JP5520651B2 (ja) * 2010-03-24 2014-06-11 株式会社ナビタイムジャパン 経路案内システム、経路探索サーバ、端末装置および経路案内方法ならびにナビゲーション装置
JP5870603B2 (ja) * 2011-10-12 2016-03-01 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN103079163B (zh) * 2011-10-25 2016-08-03 高德软件有限公司 基于位置的信息分享方法、装置及***
JP5613721B2 (ja) * 2012-05-18 2014-10-29 株式会社日立製作所 テスト支援システム、テスト支援方法、及びプログラム
US20140067477A1 (en) * 2012-08-28 2014-03-06 Ebay, Inc. Systems and Methods for Shopping Trend Alert
US20140171116A1 (en) * 2012-12-14 2014-06-19 Anthony G. LaMarca Location-aware mobile application management
US9471693B2 (en) * 2013-05-29 2016-10-18 Microsoft Technology Licensing, Llc Location awareness using local semantic scoring
CN103294477B (zh) * 2013-06-14 2018-02-13 北京新学堂网络科技有限公司 使用Office文档进行移动开发项目管理的方法
EP3111403B8 (en) 2014-02-26 2021-12-29 Blazer And Flip Flops, Inc. Dba The Experience Engine, Inc. Live branded dynamic mapping
EP3111385A4 (en) 2014-02-26 2017-08-09 Blazer and Flip Flops Inc. D/B/A The Experience Engine Inc. Increasing customer monetization
US20170011348A1 (en) 2014-02-26 2017-01-12 Blazer and Flip Flops, Inc. dba The Experience Engine Venue notifications
US9672224B2 (en) * 2014-03-15 2017-06-06 Urban Engines, Inc. Solution for highly customized interactive mobile maps
JP6097243B2 (ja) * 2014-03-26 2017-03-15 株式会社オプティム アプリインストールシステム、アプリインストール方法及びプログラム
KR101434961B1 (ko) * 2014-04-25 2014-09-01 (주)엔디씨에스 위치 기반 어플리케이션을 개발하는 방법 및 장치
US10515100B2 (en) * 2014-09-25 2019-12-24 School Maps Online Llc Systems and methods for interactive boundary mapping
WO2016172731A1 (en) 2015-04-23 2016-10-27 Blazer And Flip Flops, In. Dba The Experience Engine Targeted venue message distribution
EP3289449A4 (en) 2015-04-28 2018-12-05 Blazer and Flip Flops, Inc. dba The Experience Engine Intelligent prediction of queue wait times
US9906909B2 (en) 2015-05-01 2018-02-27 Blazer and Flip Flops, Inc. Map based beacon management
US10129728B2 (en) 2015-12-07 2018-11-13 Blazer and Flip Flops, Inc. Wearable device
US10372194B2 (en) * 2016-02-09 2019-08-06 International Business Machines Corporation Optimizing use of location services in mobile applications to improve battery consumption
US11528420B2 (en) * 2018-08-29 2022-12-13 Sony Corporation Information processing apparatus and information processing method
US20200133439A1 (en) * 2018-10-31 2020-04-30 International Business Machines Corporation Chat session dynamic user interface

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US6148261A (en) * 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
JP3893696B2 (ja) * 1997-10-24 2007-03-14 カシオ計算機株式会社 通信端末装置
US6266614B1 (en) * 1997-12-24 2001-07-24 Wendell Alumbaugh Travel guide
US6252544B1 (en) * 1998-01-27 2001-06-26 Steven M. Hoffberg Mobile communication device
US6233448B1 (en) * 1998-07-22 2001-05-15 Ericsson Inc. System, method and apparatus for automatic feature activation/deactivation based upon positioning
SE520822C2 (sv) 1999-02-17 2003-09-02 Telia Ab System för presentation av användaranpassad positionsberoende information på terminalutrustning
US20040215387A1 (en) * 2002-02-14 2004-10-28 Matsushita Electric Industrial Co., Ltd. Method for transmitting location information on a digital map, apparatus for implementing the method, and traffic information provision/reception system
US6266595B1 (en) * 1999-08-12 2001-07-24 Martin W. Greatline Method and apparatus for prescription application of products to an agricultural field
US7457628B2 (en) * 2000-02-29 2008-11-25 Smarter Agent, Llc System and method for providing information based on geographic position
DE10016674A1 (de) * 2000-04-04 2001-10-18 Bosch Gmbh Robert Verfahren zur Ausgabe von Daten in einem Fahrzeug und Fahrerinformationsvorrichtung
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US6456234B1 (en) * 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US6421608B1 (en) * 2000-07-12 2002-07-16 Ricoh Company Limited Method and system of remote position reporting device
US6380890B1 (en) * 2000-08-11 2002-04-30 Motorola, Inc. Information appliance system having a navigational position generator and method
US6671619B2 (en) * 2000-08-16 2003-12-30 Alpine Electronics, Inc. Navigation device
CN1304849A (zh) 2000-11-07 2001-07-25 临汾铁路分局介休机务段经营公司 实现机车轮缘自动喷油润滑的方法
US6944679B2 (en) * 2000-12-22 2005-09-13 Microsoft Corp. Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US6493630B2 (en) * 2001-02-16 2002-12-10 Wizeguides.Com Inc. Bundled map guide
US6639522B2 (en) * 2001-02-22 2003-10-28 Rockwell Collins, Inc. System and method of automatically triggering events shown on aircraft displays
US7259694B2 (en) * 2001-02-26 2007-08-21 International Business Machines Corporation Wireless communication system and method to provide geo-spatial related event data
US6477460B2 (en) * 2001-02-27 2002-11-05 Metro One Telecommunications, Inc. Process and system for the annotation of machine-generated directions with easily recognized landmarks and other relevant information
ES2885435T3 (es) * 2001-04-30 2021-12-13 Activemap Llc Mapa interactivo presentado electrónicamente
EP1447646A1 (en) * 2001-10-25 2004-08-18 Aisin Aw Co., Ltd. Information display system
JP4004818B2 (ja) * 2002-02-28 2007-11-07 松下電器産業株式会社 位置情報伝達装置及び方法
US7221287B2 (en) * 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
CA2479838C (en) 2002-03-19 2011-02-08 Mapinfo Corporation Location based service provider
US7565155B2 (en) * 2002-04-10 2009-07-21 Networks In Motion Method and system for dynamic estimation and predictive route generation
US6697734B1 (en) * 2002-04-17 2004-02-24 Nokia Corporation System and method for displaying a map having two scales
AU2003223090A1 (en) * 2002-04-30 2003-11-17 Telmap Ltd. Template-based map distribution system
US7181227B2 (en) 2002-06-14 2007-02-20 Cingular Wireless Ii, Llc Data structures and methods for location-based services within a wireless network
US6978206B1 (en) 2002-06-21 2005-12-20 Infogation Corporation Distributed navigation system
JP2004030457A (ja) * 2002-06-27 2004-01-29 Aisin Aw Co Ltd 携帯情報端末
WO2004010335A1 (en) * 2002-07-23 2004-01-29 Samsung Electronics Co., Ltd. Index structure of metadata, method for providing indices of metadata, and metadata searching method and apparatus using the indices of metadata
JP3942987B2 (ja) * 2002-08-15 2007-07-11 アルパイン株式会社 ナビゲーションシステム、地図差分データの配信装置、及び車載用ナビゲーション装置
US6691032B1 (en) * 2002-09-09 2004-02-10 Groundspeak, Inc. System and method for executing user-definable events triggered through geolocational data describing zones of influence
US7027915B2 (en) * 2002-10-09 2006-04-11 Craine Dean A Personal traffic congestion avoidance system
JP3975963B2 (ja) * 2003-04-28 2007-09-12 株式会社日立製作所 通信型ナビゲーションシステム
US7383316B2 (en) 2002-11-15 2008-06-03 Microsoft Corporation System and method for providing dynamic location information
EP1435600B1 (en) 2002-12-30 2007-07-18 Motorola, Inc. Method and apparatus for determining the location of a wireless device
JP4236490B2 (ja) * 2003-03-18 2009-03-11 ぴあ株式会社 電子クーポン利用システムとそれを実現するためのコンピュータプログラムとその方法
JP2004301804A (ja) * 2003-04-01 2004-10-28 Nissan Motor Co Ltd ナビゲーション・システム
US7089109B2 (en) 2003-04-10 2006-08-08 Microsoft Corporation Comprehensive mapping data structures and methods for using the same
US6823256B1 (en) * 2003-05-06 2004-11-23 General Motors Corporation Method for associating real-time information with a geographical location
US20050122236A1 (en) * 2003-12-08 2005-06-09 Brauer R. K. Moving map information index
US7627425B2 (en) 2004-11-26 2009-12-01 Microsoft Corporation Location aware mobile-device software development
US20120135744A1 (en) * 2009-07-21 2012-05-31 Kota Enterprises, Llc Systems and methods for generating and managing communication rules associated with geographic locations

Also Published As

Publication number Publication date
US7627425B2 (en) 2009-12-01
US20100042320A1 (en) 2010-02-18
JP4938284B2 (ja) 2012-05-23
CN1779682A (zh) 2006-05-31
EP1662407A3 (en) 2007-03-07
US9128956B2 (en) 2015-09-08
JP2006153863A (ja) 2006-06-15
US20060116817A1 (en) 2006-06-01
US20150382141A1 (en) 2015-12-31
EP1662407A2 (en) 2006-05-31
KR20060059167A (ko) 2006-06-01

Similar Documents

Publication Publication Date Title
CN1779682B (zh) 用于知晓位置的应用程序的***和方法
CN101405572B (zh) 用于移动设备的基于位置的高速缓存
US20150365799A1 (en) Method and System for Identifying and Defining Geofences
CN102546816A (zh) 基于lbs平台的校园定位方法及其实现***
Ivanochko et al. City tourism services with mobile geolocation sharing
Shang et al. A mobile guide system framework for museums based on local location-aware approach
Jana et al. An event-driven university campus navigation system on android platform
Hornecker et al. Technology in tourism: Handheld guide systems and museum technologies
Jing et al. A development of mobile-based directory for UCSI University (UCSI Mobiletory)
Li et al. Mobile geographic information systems
Deidda et al. A tourist location based service (lbs) for the Cagliari city
Luimula et al. Techniques for location selection on a mobile device
Srinivasan Location based services to improve public transportation
Sukmayani et al. The Development of A Mobile Application Prototype Tour Taman Mini Indonesia Indah
Tavera Romero et al. Development and Impact of a Mobile Application that Allows Users to Track Their Location on an Educational Institution Campus, a Simulation Study.
Rechert Mobis: A pragmatic framework for location based services
Singh et al. LOCUS: Wireless LAN location sensing
Singh A data collection framework for sensing proximity
von Buchwald et al. Mobile context-aware support for public transportation users
Abd Almahmoud et al. ANDROID MAPPING APPLICATION
Bildirici WIRELESS CAMPUS LBS IN KONYA
Gervais Dynamap, a mobile and context-aware pedestrian navigation application
Bjørneseth Mobile tourist guide
Lau Mobile trip monitoring and journeying system
Teixeira et al. Automatic Generation of Personal Maps

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20121026