SOSO地图API使用(一)在地图上画圆实现思路与代码


Posted in Javascript onJanuary 15, 2013

前言:最近在做SOSO地图相关开发,遇到相关画圆知识,特此简单记录下来。
1.在页面中添加SOSO地图API引用,引用脚本

<script charset="utf-8" src="http://api.map.soso.com/v1.0/main.js"></script>;

2.新建一个地图DIV容器,如下
<div style="width:603px;height:300px" id="container"></div>

3.初始化地图
 var center=new soso.maps.LatLng(22.540551,113.934593);
 var map=new soso.maps.Map(document.getElementById("container"),{
     center:center,
     zoomLevel:14
 });

4.创建一个圆形对象
 var circle=new soso.maps.Circle({
        map:map,
        center:center,
        radius:1000,
        fillColor:"#00f",
        fillOpacity:0.3,
        strokeWeight:2
    });

5.为了美观,再给圆形设置一个中心点,代码如下
 var marker = new soso.maps.Marker({
     position: center,
     map: map
 });
 var anchor = new soso.maps.Point(0, 0),
     size = new soso.maps.Size(27, 35),
     icon = new soso.maps.MarkerImage('http://s.map.soso.com/themes/default/img/centermarker.png'
         , size//指定使用图片部分的大小
         , anchor//用来指定图标的锚点,默认为图标中心的位置,可以指定图标的位置,默认是和图片的左上角对齐的。
         , new soso.maps.Point(0, 0)//指定使用图片的哪一部分,相对图片左上角的像素坐标
         , new soso.maps.Size(27, 35)//指定图片的原始大小
         , new soso.maps.Size(-12, -30));//向左偏12px,向上偏30px
 marker.setIcon(icon);
 var decor = new soso.maps.MarkerDecoration({
     content: '',
     margin: new soso.maps.Size(0, -4),
     align: soso.maps.ALIGN.CENTER,
     marker: marker
 });

6.完成上面的编码后,得到一个如下图样子的圆形
SOSO地图API使用(一)在地图上画圆实现思路与代码7.具体代码如下
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>SOSOMap</title>
 <style type="text/css">
 *{
     margin:0px;
     padding:0px;
 }
 body, button, input, select, textarea {
     font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
 }
 #info{
     width:603px;
     padding-top:3px;
     overflow:hidden;
 }
 .btn{
     width:190px;
 }
 </style>
 <script charset="utf-8" src="http://api.map.soso.com/v1.0/main.js"></script>
 <script type="text/javascript">
 function init(){
     var center=new soso.maps.LatLng(22.540551,113.934593);
     var map=new soso.maps.Map(document.getElementById("container"),{
         center:center,
         zoomLevel:14
     });
     var circle=new soso.maps.Circle({
         map:map,
         center:center,
         radius:1000,
         fillColor:"#00f",
         fillOpacity:0.3,
         strokeWeight:2
     });
     var marker = new soso.maps.Marker({
         position: center,
         map: map
     });
     var anchor = new soso.maps.Point(0, 0),
         size = new soso.maps.Size(27, 35),
         icon = new soso.maps.MarkerImage('http://s.map.soso.com/themes/default/img/centermarker.png'
             , size//指定使用图片部分的大小
             , anchor//用来指定图标的锚点,默认为图标中心的位置
             , new soso.maps.Point(0, 0)//指定使用图片的哪一部分,相对图片左上角的像素坐标
             , new soso.maps.Size(27, 35)//指定图片的原始大小
             , new soso.maps.Size(-12, -30));//向左偏12px,向上偏30px
     marker.setIcon(icon);
     var decor = new soso.maps.MarkerDecoration({
         content: '',
         margin: new soso.maps.Size(0, -4),
         align: soso.maps.ALIGN.CENTER,
         marker: marker
     });
      var path1=[
         center
     ];
      var polyline = new soso.maps.Polyline({
         path: path1,
         strokeColor: '#000000',
         strokeWeight: 5,   
         strokeOpacity: 1,
         editable:false,
         map: map
     });
     /*
     soso.maps.Event.addListener(map,'zoomlevel_changed',function() {
         circle.setMap(null);console.log(map);
         circle.setMap(map);
     });
     */
 }
 window.onload=init;
</script>
 </head>
 <body onload="init()">
 <div style="width:603px;height:300px" id="container"></div>
 </body>
 </html>
Javascript 相关文章推荐
js实现的日期操作类DateTime函数代码
Mar 16 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
点击标签切换和自动切换DIV选项卡
Aug 10 Javascript
jquery模拟alert的弹窗插件
Jul 31 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
基于JavaScript实现移动端无限加载分页
Mar 27 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
html中通过JS获取JSON数据并加载的方法
Nov 30 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
Dec 26 Javascript
vue中使用echarts制作圆环图的实例代码
Jul 27 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
May 21 Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 #Javascript
javascript真的不难-回顾一下基础知识
Jan 15 #Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 #Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 #Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 #Javascript
javascript函数以及基础写法100多条实用整理
Jan 13 #Javascript
window.requestAnimationFrame是什么意思,怎么用
Jan 13 #Javascript
You might like
php session 预定义数组
2009/03/16 PHP
PHP中用hash实现的数组
2011/07/17 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
Node.js简单入门前传
2017/08/21 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
Python专用方法与迭代机制实例分析
2014/09/15 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
观看《永远的雷锋》心得体会
2014/03/12 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
化学教育专业求职信
2014/07/08 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
化工见习报告范文
2014/10/31 职场文书
2014年仓库工作总结
2014/11/20 职场文书
优秀志愿者感言
2015/08/01 职场文书