写点什么

搜狗地图 API 正式发布

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

    阅读完需:约 18 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

最近,搜狗地图 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:119168
用户头像

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

关注

评论

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

jackson学习之十(终篇):springboot整合(配置类)

程序员欣宸

Java web 4月月更

YonMaster开发者认证线上赋能培训班定档4月18日

YonBuilder低代码开发平台

教你用ab命令进行并发与压力测试

华为云开发者联盟

并发 压力测试 ab测试 ab命令 请求次数

MSE 微服务治理发布企业版,助力企业构建完整微服务治理体系

阿里巴巴云原生

免费下载|KubeMeet 城市站实录合辑,N 场容器开源分享打包看

阿里巴巴云原生

Redis是怎样通讯的?

ooooooh灰灰

redis 后端 协议 4月月更

简单实用的redis分布式锁

Rubble

4月日更 4月月更

科创人·富士康CDO史喆:To B产品切忌臃肿,数字化不分对错只求更好

科创人

一文读懂 TsFile

Apache IoTDB

“东数西算”超级工程利好云计算,多云管理背后却暗藏汹涌!

行云管家

云计算 多云 东数西算 云管

使用 Sanic 框架进行 Python Web 开发

宇宙之一粟

Python 4月月更 sanic

STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁

华为云开发者联盟

stm32 iotda 华为云IoT 密码锁 Qt框架

知识管理的目的及意义——提高社会资源的配置效率

小炮

知识管理

5. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测

MASA技术团队

C# .net 微软 测试 压测

macOS系统病毒常见的两种传播途径

火绒安全

macos 终端安全 勒索病毒 蠕虫

【Zeekr_Tech】汽车软件RTOS-之AUTOSAR OS多核控制简介

Zeekr_Tech

Linux 软件架构

Prime Video 如何使用机器学习来确保视频质量

亚马逊云科技 (Amazon Web Services)

计算机视觉 Amazon Prime Video WACV

hyengine - 面向移动端的高性能通用编译/解释引擎

阿里巴巴终端技术

编译 移动端 引擎

从容器化到资源池化,数栈云原生技术实践探索之路

袋鼠云数栈

大数据 flink 云原生 k8s

Tiger DAO VC:将你的风险投资变成DAO组织协同

小哈区块

来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注

王吉伟频道

RPA 收购 机器人流程自动化 来也科技 Mindsay

聚焦供应链布局,新能源汽车企业重塑产业核心竞争能力

数商云

数字化转型 供应链 新能源汽车

java高级用法之:JNA中的Function

程序那些事

Java Netty 程序那些事 4月月更

thinkphp5框架新建页面相关规范详解

CRMEB

好的测试数据管理,到底要怎么做?

禅道项目管理

测试 数据 数据管理

TASKCTL ETL作业类型的插件与维护管理

敏捷调度TASKCTL

kettle 元数据 ETL 自动化运维 调度任务

“双碳”下的建筑业:未来10年必须重视这5大方向

WorkPlus

WeTest平台产品&技术合作伙伴招募

WeTest

云图说丨叮咚,您有一份短信通关攻略待查收

华为云开发者联盟

短信 签名 消息 签名模板 MSGSMS

计算机存储层次简析

懒时小窝

计算机基础

2022年提高远程工作效率的三大实用技巧汇总

行云管家

远程办公 居家办公 办公软件

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