开发国内应用当我们需要使用到地图时,首选肯定是高德地图或者百度地图,这是因为它们的地图功能足够强大,对于开发人员来说,更是因为 API 封装的完善和简单的调用实现,扩展功能强大。
如果要开发全球通用的 APP,需要集成地图,我们难免会对需要使用的地图 SDK 进行一番调研,百度和高德并没有全世界范围的地图数据,在亚洲或许还能使用以下,对于需要全球范围内都要使用到的就那么不适用了。
所以我们可选方案就只有 MapBox 和 Google Map 了,相对于 MapBox,Google Map 的地点数据非常详尽,特别是对于多语言,区分国家这类的 APP 了。在地图开发中,多语言是一件特别麻烦的事情,例如手机语言是中文,定位位置是美国,现在在地图上用中文搜索美国黄石公园,因为手机语言是中文,也要求搜索返回结果是中文。或者手机语言是中文,我在中国湖北搜索武汉 East Lake 要求返回查询东湖的英文结果等等,因为你不能确定你的 APP 用户是哪国人,在哪个国家使用你的 APP,这样一来如果自己实现语言和区域转换就极度复杂了,就算是调用 Google Map WebService API,要处理好数据也不是那么容易的事情。另外一个场景就是,就是假定我的定位位置是日本,我的搜索结果只允许返回日本的数据,同样,实现在哪个国家搜索地点,就返回哪个国家的地点数据等,这时候,使用 Google Map 就方便多了。
Google Map 的 Android 搜索自动提示文档可参考: