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 相关文章推荐
JSON扫盲帖 JSON.as类教程
Feb 16 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
Jan 19 Javascript
基于jquery实现轮播特效
Apr 22 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
vue路由嵌套的SPA实现步骤
Nov 06 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
Vue程序调试的方法
Jun 17 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中的日期及时间
2006/11/23 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
vue组件间通信解析
2017/03/01 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
python之import机制详解
2014/07/03 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
公立医院改革实施方案
2014/03/14 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
2016春节慰问信范文
2015/03/25 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫