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 匿名调用实现代码
Jun 19 Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
浅谈js的setInterval事件
Dec 05 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
jQuery隐藏和显示效果实现
Apr 06 Javascript
详解vue.js的事件处理器v-on:click
Jun 27 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
JavaScript实现移动小精灵的案例代码
Dec 12 Javascript
vue组件的路由高亮问题解决方法
May 11 Vue.js
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+mysql一个名片库程序
2006/10/09 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
layui使用label标签的方法
2019/09/14 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python 消费 kafka 数据教程
2019/12/21 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
什么是事务?事务有哪些性质?
2012/03/11 面试题
毕业生的自我评价
2013/12/30 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS