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 Function类型
Dec 04 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery的Ajax的自动完成功能控件简要说明
Feb 22 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
Dec 10 Javascript
jquery表单验证插件formValidator使用方法
Apr 01 Javascript
jQuery实现自动调用和触发某个事件的方法
Nov 18 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
Mar 26 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
js 数组详细操作方法及解析合集
Jun 01 Javascript
vue根据值给予不同class的实例
Sep 29 Javascript
基于Vant UI框架实现时间段选择器
Dec 24 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数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
vue二级路由设置方法
2018/02/09 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
Python实现注册、登录小程序功能
2018/09/21 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
公司财务工作总结的自我评价
2013/11/23 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
团代会邀请函
2015/02/02 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电