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中浮点型运算BUG的解决方法说明
Jan 06 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
Nov 20 Javascript
JavaScript 里的类数组对象
Apr 08 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
JS实现简单的tab切换选项卡效果
Sep 21 Javascript
js实现音乐播放控制条
Sep 09 Javascript
html中通过JS获取JSON数据并加载的方法
Nov 30 Javascript
详解vue中组件参数
Jul 09 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 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即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
打架检讨书50字
2014/01/11 职场文书
商场中秋节广播稿
2014/01/17 职场文书
草船借箭教学反思
2014/02/03 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
自主招生教师推荐信
2014/05/10 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
清洁工工作总结
2015/08/11 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python