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 相关文章推荐
再谈javascript图片预加载技术(详细演示)
Mar 12 Javascript
javaScript实现浮点数转十六进制字符
Oct 29 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
写出高效jquery代码的19条指南
Mar 19 Javascript
javascript如何实现360度全景照片问题汇总
Apr 04 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
关于vue组件事件属性穿透详解
Oct 28 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
Mar 17 Javascript
js实现盒子移动动画效果
Aug 09 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 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 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
php内嵌函数用法实例
2015/03/20 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Python发展史及网络爬虫
2019/06/19 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
Python装饰器结合递归原理解析
2020/07/02 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
英国团购网站:Groupon英国
2017/11/28 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
开朗女孩的自我评价
2014/02/10 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
学校火灾防控方案
2014/06/09 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书