在适用于Windows Mobile的C#程序中使用Google地图中的数据

时间:2010-02-11 21:21:23

标签: c# windows windows-mobile mobile gps

我正在用C#制作慈善机构的Windows Mobile 6应用程序来帮助那些受阿尔茨海默氏症影响的人。

此应用的目的是让护理者通过点击谷歌地图来设置边界。护理人员然后将窗户移动设备放在患者的手提包或外套中,这样当患者自己走出去,认为他们“回家”时,护理人员会收到一个短信,其中包含他们的位置,航向和速度

然而,我不知道如何......

  1. 从应用切换到谷歌手机地图
  2. 点按以选择积分
  3. 将该点的坐标导入我的C#程序
  4. 使用坐标计算边界
  5. 发送包含位置信息的文字
  6. 切换回我的C#程序
  7. HTC的HD2附带一个指南针,使用这个“点击选择一个点,然后返回应用程序”功能,所以我们也有可能吗?

    如果有人愿意帮助我,我将非常感激,因为这将有助于所有受阿尔茨海默氏症和其他类似病症影响的人。例如,我的Gran最近开始试图走回她20年前居住的房产......

    谢谢大家!这意味着太多了!我甚至会来给你买一杯饮料来表示感谢!

    詹姆斯

3 个答案:

答案 0 :(得分:1)

无论您正在考虑哪些技术问题,我认为您应该意识到这种类型的使用是AFAICS,与谷歌地图的服务条款相反。参见:

http://code.google.com/apis/maps/terms.html

也就是说,您可以只使用谷歌地图内容,如果它可供所有人访问,而不仅仅是您将程序分发给的人:

  

您的Maps API实施必须经常为用户免费提供。

如果您将其构建为网络应用,则必须通过互联网访问,而不是通过内部网:

  

[您的Maps API实施不得:]仅在防火墙后面或仅在内部网络上运行(开发和测试阶段除外)。

标题10中的一些术语似乎也适用:

  

[你不能(也许你不允许其他人):]   10.8使用Static Maps API而不是Web浏览器中的实现;   10.9将服务或内容与任何产品,系统或应用程序一起使用或与之相关:   (a)实时导航或路线引导,包括但不限于与用户的传感器设备位置同步的转弯路线引导;

答案 1 :(得分:1)

为什么你想要像这样整合一些东西?试图让您的应用程序界面与您没有来源的其他应用程序,无论是Google Maps fopr Mobile还是其他任何应用程序都很困难,只能作为最后的手段使用。

如果此应用程序是免费的并且不要求用户登录,您可以直接从您的应用程序使用Bing Maps Web Service API而无需任何费用。然后你也可以通过GPSID APIs使用内置GPS,你可以控制哪些数据去哪里,绘制什么地图等等。

这似乎是一条更容易实现目标的途径。

作为旁注,我在上面给出了微软GPSID样本的链接。我建议查看它和本机GPSID API,但微软提供的托管包装是IMO,纯垃圾,所以你可以考虑自己包装低级API。

答案 2 :(得分:0)

重述问题,我相信你正试图解决:

当护理人员在设备上发送“虚拟边界”时,您就有了一个用例。如果该设备离开有界区域,您需要通过短信发送给预定义接收者的警报,说明该设备的位置。

我的建议是在设置虚拟边界时使用OpenStreetMap地图(因为它们是免费的)。对于他们的图块(每个256像素正方形),有一个相对简单的方法来转换纬度/经度和像素坐标。

你也可以通过蚕食他们现有的用于测量的Windows Mobile应用程序来做你想做的事情,例如OSMtracker,它已经包括地图控件,下载等,只剩下第5点和部分点列表中的4个要解决。