写点什么

搜狗地图 API 正式发布

  • 2011-06-17
  • 本文字数:5476 字

    阅读完需:约 18 分钟

最近,搜狗地图 API 正式发布,至此,几乎所有主流互联网地图服务商都对外发布了接口,供第三方使用。本文介绍了搜狗地图 API 的基本情况,并盘点了其他主要互联网地图服务商的特点。

搜狗地图 API 是一套由 JavaScript 语言编写的应用程序接口,它支持用户在自己的网站中构建操作简单、功能丰富的地图应用,里面包含构建地图基本功能的各种接口,提供了诸如位置搜索、周边查询、出行路线规划等功能服务。该地图 API 免费提供,适用于各种网站。随着 Web 2.0 的发展,互联网地图的应用越来越广泛,很多商家都喜欢在自己的网站上嵌入一些地图信息,比如:连锁机构网站可以用地图展示遍布各地的分支机构;团购网站可以给商家团购信息中加入地图说明位置,并支持用户能在地图上查找身边的团购信息;房产中介,可以在网站上提供地图找房功能,不管是买房还是租房,用地图方式查找最实用;更多的像旅游、酒店、餐饮等垂直型网站,凡是与地理位置相关的,都可以嵌入地图应用,以更好地服务用户。

搜狗地图 API 简单易用,比如要创建一个 800*600 的地图区域,并显示地图,基本代码如下所示:

Sogou maps api v1.0

代码说明

  • 载入地图 API

    http://api.go2map.com/maps/js/api_v1.0.js 网址指向 Javascript 文件所在的位置。该文件会载入使用 Sogou Maps API 所需的全部符号和定义。用户的网页必须包含指向该网址的 script 标签。

  • 地图 DOM 元素

    要在网页上显示地图,我们必须为其留出一个位置。通常,我们的做法是创建一个名为 div 的元素,然后在浏览器的文档对象模型 (DOM) 中获取此元素的引用。
  • 为地图 DOM 元素设置样式

    用户可以通过样式表自行指定地图 DOM 元素的大小。

  • 其它设置

    兼容 IE8 为绘制线面对象指定命名空间 在 css 中加入 v\\:\* {behavior:url(#default#VML);} 用于矢量绘图
  • 初始化地图
    // 创建地图对象
    var _m = new sogou.maps.MapClient(document.getElementById(“map”));
    // 初始化地图
    _m.init();
    上面的都加好后,添加创建地图区域并显示初始化的地图的代码。因为所有的操作都是基于地图的,只有地图初始化成功之后,很多类的属性与方法才可以被调用。

  • 事件侦听
    地图客户端的大部分接口是事件驱动的,所以事件侦听在地图客户端中很重要:
    // 创建地图对象
    var _m = new sogou.maps.MapClient(document.getElementById(“map”));
    // 添加初始化完毕的事件侦听
    sogou.maps.SEvent.addListener(_m,“inited”,function(a)
    {
    alert(“初始化完毕触发事件!”)
    });
    // 初始化地图
    _m.init();
    // 添加点击地图区的事件侦听
    sogou.maps.SEvent.addListener(_m.map,“click”,function(a,b)
    {
    alert(“坐标为:[”+b.x+","+b.y+"]")
    });
    以上例子是当发生 inited 事件时,弹出一个信息对话框;当点击地图时,弹出坐标信息。 注意:事件侦听是要在该事件发生前绑定,不能等事件已经发生了才绑定侦听。如:inited 事件一定要在 init() 方法调用前侦听。而 _m.map 的 click 事件,由于是在 init 之后才创建 _m.map 对象,所以要放在 init() 方法之后,但还是在点击地图的 click 事件发生之前侦听的。

搜狗地图 API 支持的浏览器包括:

  • IE 6.0+ (Windows) 以及 ie 内核的其他浏览器,如:搜狗高速浏览器、遨游浏览器、360 浏览器、世界之窗浏览器等。
  • Firefox 2.0+ (Windows|Mac|Linux)
  • Safari 3.1+ (Mac|Windows)
  • Chrome 谷歌浏览器 (Windows)
  • Opera 10+ (Windows)

另外,Web 开发人员如果不想使用地图 API,也可以使用搜狗地图名片的功能。目前,搜狗地图规定,使用地图 API 的用户所提供的服务必须是免费的,如果有商业用途,必须获得搜狗地图书面授权。

报道,国内互联网地图服务市场的争夺日趋白热化。据不完全统计,当前我国从事互联网地图服务的网站约 4.2 万个。但随着国家对互联网测绘资质严格管理,互联网地图市场服务逐渐规范。

不过,目前搜狗地图仍然处于不盈利的状态,搜狗地图副总经理庞欣透露:

搜狗地图通过广告等形式有一小部分收入,但不成规模。其中,主要的原因是,地图的展示空间有限,形式有待创新。拥有 100 多人的搜狐地图每年投入上千万元,进行持续开发。

搜狗地图曾经靠“点坐标”(即在地图上标出商家信息)的方式一年能获取两三千万元收入,但搜狐最终将这种盈利模式撤销,这其实挺影响网民使用体验,而且对搜狐来说,也只是较小规模的收入。因此,搜狐就终止这项商业开发。

目前互联网地图的商业还处于初级阶段,LBS 也还停留在概念阶段,没有真正成熟的应用。对于用户来说,LBS 只是一扇门,敲开这扇门后,用户需要看到更加精彩的应用。

​除了搜狗,其他主流互联网地图服务商都对外开放了 API,我们来简要盘点一下​各个地图 API 的特点。

谷歌地图 API

谷歌地图 API 包含的种类很多,包括:

  • Google Maps JavaScript API ——使用 JavaScript 在网页中嵌入 Google Map,还可以通过多种服务操作地图并添加内容。
  • Google Maps API for Flash ——使用此 ActionScript API 在基于 Flash 的网页或应用程序中嵌入 Google Map,还可以通过多种服务在三维模式下操作地图并添加内容。
  • Google Earth API ——在网页中嵌入真实的 3D 数字地球仪。访问者无需离开网页便可游览世界,甚至身临其境感受深邃广袤的海洋。
  • Google Static Maps API ——在网页或移动网站上嵌入快捷、简单的 Google Maps 图片,而无需使用 JavaScript 或载入任何动态网页。
  • 网络服务——使用网址请求访问客户端应用程序的地址解析、路线、海拔和商家信息,并在 JSON 或 XML 中处理结果。

Google Maps JavaScript API 为例,其第 3 版专为移动设备设计,速度更快,更适用,而且不再需要申请 API 访问密钥。它同时也适用于传统的桌面浏览器应用程序。​谷歌地图 API 的功能很强大,其中包括:

地理定位

地理定位指通过各种数据收集机制识别用户或计算设备的地理位置。通常而言,大多数地理定位服务使用网络路由地址或内部 GPS 设备来确定该位置。请注意,地理定位是特定于设备的 API。某些浏览器 / 设备支持地理定位,但某些则不支持(或无法支持),因此开发人员不能始终假定网络应用程序具备该功能。

目前,在浏览器中可通过以下几种方式检测用户的位置。这些方法都不属于 Google Maps API,而是公用的行业标准。一些较新版本的浏览器正开始支持 W3C Geolocation 标准。此标准是 HTML5 的一部分,以后很可能会成为真正的标准。所有希望执行地理定位的应用程序都应当支持此标准。某些带 Google Gears 的浏览器可以使用 Google Gears Geolocation API。由于即将实现对 W3C 标准的广泛支持,因此,检查 Gears 不失为一项好的后备方案。某些浏览器使用 IP 地址来检测用户的位置,不过这种方式只能提供很粗略的估计。由于用户的 IP 地址只能提供对用户位置的粗略估计,因此我们不建议使用这种地理定位方法。W3C 是最简单且支持最广泛的方法,应优先采用此方法,然后再考虑其他方法。如果 Web 开发人员决定使用 Google Gears,那么首先应检查浏览器是否支持 W3C 标准。(请注意,如果要使用 Google Gears,则需要载入 Gears 初始化 JavaScript。)

语言本地化

Google Maps API 在显示文本信息(如控件名称、版权声明、行车路线和地图上的标签)时,使用浏览器的首选语言设置。大多数情况下,这是可取的做法,通常开发人员不会想覆盖用户的首选语言设置。不过,如果希望更改 Google Maps API 以忽略浏览器的语言设置,并强制浏览器采用特定语言显示信息,那么可以将可选的 language 参数添加到包含 Maps API JavaScript 代码的

2011-06-17 03:119810
用户头像

发布了 501 篇内容, 共 284.6 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

精彩回顾!AI赋能下的自动化攻防分享

云起无垠

安全厂商第一站!OASA 走进绿盟科技圆满结束

OpenAnolis小助手

龙蜥社区 龙蜥社区安全联盟

半导体存储品牌企业江波龙加入龙蜥社区,完成与 Anolis OS 适配

OpenAnolis小助手

龙蜥社区 龙蜥社区生态伙伴 江波龙

龙蜥开发者说:夏日编码奇遇,中国科学院大学学子的开源世界探索记 | 第 27 期

OpenAnolis小助手

龙蜥开发者说

检测 CSS 中的 JavaScript 支持

伤感汤姆布利柏

AutoMQ 生态集成 MinIO

AutoMQ

Java 云计算 云原生

Python 遍历字典的这6种方法,你都掌握了吗

我再BUG界嘎嘎乱杀

Python 后端 字典

XSKY CTO 在英特尔存储技术峰会的演讲:LLM 存储,架构至关重要

XSKY星辰天合

分布式存储 大语言模型 XSKY 星辰天合 高带宽存储

云电脑对硬件配置有没有要求?

青椒云云电脑

云电脑 云电脑平台

桌面云服务器是什么?有哪些操作系统

青椒云云电脑

桌面云 桌面云服务器

桌面云服务器有哪些配置?

青椒云云电脑

云服务器 桌面云

云教室如何促进优质资源共享

青椒云云电脑

云教室 云教室厂商 云教室解决方案

训练效率提升 40%丨多云架构下高效存储策略详解

焱融科技

多云架构 大模型训练 高性能存储

小白入门必备!计算机科学教程的Python精要参考PDF开放下载!

我再BUG界嘎嘎乱杀

Python 后端 入门 零基础

OpenHarmony开发者大会2024致谢项目群捐赠人,多家单位参与现场授牌

极客天地

# 使用RAG-GPT集成智谱AI、DeepSeek快速搭建OpenAI Cookbook智能客服

Geek_1ef48b

兼职福音!API信息录入员火热招募中

幂简集成

API 兼职 招募

满帮集团 Eureka 和 ZooKeeper 的上云实践

阿里巴巴云原生

阿里云 微服务 云原生

桌面云服务器价格怎么样?

青椒云云电脑

桌面云

QAnything 1.4.1 中的文档解析

有道技术团队

rag 知识库问答

Vue.js条件渲染与列表渲染指南 _

不在线第一只蜗牛

vue.js 前端

报名倒计时!「飞天技术沙龙-CentOS 迁移替换专场」参会指南

OpenAnolis小助手

操作系统 CentOS 停服 CentOS 迁移最佳选择 CentOS迁移

全方位质量保障!龙蜥在内核、软件包、容器镜像、三方模块的 CI 工程实践

OpenAnolis小助手

ci 质量保证 龙蜥社区

第53期|GPTSecurity周报

云起无垠

#人工智能 LLM模型

Web3 游戏周报(5.19 - 5.25)

Footprint Analytics

链游

搜狗地图API正式发布_Java_崔康_InfoQ精选文章