当前位置: 首页 > 编程日记 > 正文

js构造函数式编程

1.函数式编程

    //创建和初始化地图函数:function initMap(){createMap();//创建地图setMapEvent();//设置地图事件addMapControl();//向地图添加控件}//创建地图函数:function createMap(){var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图var point = new BMap.Point(116.411024,39.910286);//定义一个中心点坐标map.centerAndZoom(point,13);//设定地图的中心点和坐标并将地图显示在地图容器中var marker = new BMap.Marker(point);  // 创建标注map.addOverlay(marker);               // 将标注添加到地图中marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画window.map = map;//将map变量存储在全局}//地图事件设置函数:function setMapEvent(){map.enableDragging();//启用地图拖拽事件,默认启用(可不写)map.enableScrollWheelZoom();//启用地图滚轮放大缩小map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)map.enableKeyboard();//启用键盘上下左右键移动地图}//地图控件添加函数:function addMapControl(){//向地图中添加缩放控件var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});map.addControl(ctrl_nav);//向地图中添加缩略图控件var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});map.addControl(ctrl_ove);//向地图中添加比例尺控件var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});map.addControl(ctrl_sca);}initMap();//创建和初始化地图

2.改造

function mapmark(lng, lat, zoom){this.lng = lng;this.lat = lat;this.zoom = zoom;this.initMap = function() {this.createMap();//创建地图this.setMapEvent();//设置地图事件this.addMapControl();//向地图添加控件};this.createMap = function() {var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图var point = new BMap.Point(this.lng,this.lat);//定义一个中心点坐标map.centerAndZoom(point,this.zoom);//设定地图的中心点和坐标并将地图显示在地图容器中var marker = new BMap.Marker(point);  // 创建标注map.addOverlay(marker);               // 将标注添加到地图中marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画window.map = map;//将map变量存储在全局};this.setMapEvent = function() {map.enableDragging();//启用地图拖拽事件,默认启用(可不写)map.enableScrollWheelZoom();//启用地图滚轮放大缩小map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)map.enableKeyboard();//启用键盘上下左右键移动地图};this.addMapControl = function() {//向地图中添加缩放控件var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});map.addControl(ctrl_nav);//向地图中添加缩略图控件var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});map.addControl(ctrl_ove);//向地图中添加比例尺控件var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});map.addControl(ctrl_sca);};
}

调用

var mapmark = new mapmark(116.411024,39.910286,13);
mapmark.initMap();

完整html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>百度地图</title>
<!--引用百度地图API-->
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=2.0&ak=1We8imivxZnaKMujZIrlDZ0v"></script>
<script type="text/javascript" src="js/mapmark.js"></script>
</head><body><!--百度地图容器--><div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div>
</body>
<script type="text/javascript">var mapmark = new mapmark(116.411024,39.910286,13);mapmark.initMap();
</script>
</html>

效果
422101-20160819121108375-758799791.png

相关文章:

【ACM】绝地求生

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/43/1009 【问题描述】 zbt最近喜欢上了《绝地求生》&#xff08;pubg&#xff09;游戏&#xff0c;pubg这个游戏有一种跑毒机制&#xff0c;每次会产生一个圆形的安全区,玩家需要从他的当前位置在一定时间内进入安…

【oracle】dblink创建

目的&#xff1a;oracle中跨数据库查询 两台数据库服务器db_A(本地)和db_B(远程192.168.1.100)&#xff0c;db_A下用户user_a 需要访问到db_B下user_b的数据解决&#xff1a;查询得知使用dblink(即database link 数据库链)实现过程&#xff1a;1、确定用户user_a有没有创建 db…

ASan(Linux),gcc4.8以上版本自带的内存检查工具

转自&#xff1a;http://shafeng.github.io/2017/05/10/asan/ 最近线上的程序总是莫名其妙崩溃,因为我们的项目使用了分布负载的机制,对于玩家的影响其实很小,但是我肯定是忍不了的…程序崩溃的core文件里面完全找不到问题所在,初步分析应该是野指针导致,仔细分析程序之后并没有…

详解使用DockerHub官方的mysql镜像生成容器

为什么80%的码农都做不了架构师&#xff1f;>>> 写在前面&#xff1a;看到网上关于利用DockerHub官方的mysql镜像生成容器此类的文档比较少&#xff0c;故结合自身实践分享给大家&#xff0c;还望多多指教。 我的需求&#xff1a;利用docker 镜像快速建立一个mysql…

【ACM】奇怪的回文数

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/43/1008 【问题描述】 “回文”是指正读反读都能读通的句子&#xff0c;它是古今中外都有的一种修辞方式和文字游戏&#xff0c;如“我为人人&#xff0c;人人为我”等。 在数学中也有这样一类数字有这样的特征…

java I/O之装饰者模式

装饰者&#xff1a; Decorator模式&#xff08;别名Wrapper&#xff09;&#xff1a;动态将职责附加到对象上&#xff0c;若要扩展功能&#xff0c;装饰者提供了比继承更具弹性的代替方案。 装饰者模式意图&#xff1a; 动态的给一个对象添加额外的职责。Decorator比生产子类灵…

ubuntu下wireshark添加root权限

wireshark要监控eth0&#xff0c;但是必须要root权限才行。但是&#xff0c;直接用root运行程序是相当危险&#xff0c;也是非常不方便的。 解决方法如下&#xff1a; 1.添加wireshark用户组sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组sudo chgrp wireshark /…

Oracle导出空表解决办法

在oracle 11g 中&#xff0c;发现传统的exp不能导出空的表 oracle 11g 新增了一个参数&#xff1a;deferred_segment_creation&#xff0c;含义是段延迟创建&#xff0c;默认是true。具体是什么意思呢&#xff1f; 如果这个参数设置为true&#xff0c;你新建了一个表T1&#xf…

【ACM】图像分类

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/43/1003 【问题描述】 现在&#xff0c; 我们需要你来解决一项图像分类任务。 首先我们需要介绍下简单图像的数据存储形式&#xff0c;你可以粗略的认为图像在数字意义就是一个二维矩阵&#xff08;我们这里不考虑…

【译】如何精确判断最终用户响应时间过长的原因?

译者&#xff1a;原始文章有点性能测试工具软文的感觉&#xff0c;毕竟文章来源于某工具官方博客。高手请略过。 对于我这种新手&#xff0c;此文还是给我带来一些惊喜&#xff0c;从上到下地&#xff0c;从表象到根源地&#xff0c;定位他们遇到性能问题-响应时间过长-的根本原…

javascript中重要概念-闭包-深入理解

在上次的分享中javascript--函数参数与闭包--详解&#xff0c;对闭包的解释不够深入。本人经过一段时间的学习&#xff0c;对闭包的概念又有了新的理解。于是便把学习的过程整理成文章&#xff0c;一是为了加深自己闭包的理解&#xff0c;二是给读者提供学习的途径&#xff0c;…

ssl握手过程和ca证书验证

转载&#xff1a;https://www.cnblogs.com/cposture/p/9029014.html SSL 认证 可以将 SSL 服务器与客户端之间的通信配置为使用单向或双向 SSL 认证。 单向 SSL 认证一般是客户端利用服务器传过来的信息验证服务器的合法性&#xff0c;服务器的合法性包括&#xff1a;证书是…

【ACM】练武奇才

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/43/1005 【问题描述】 很久很久以前&#xff0c;constbh大神还在上着小学。一天&#xff0c;在放学的路上&#xff0c;他被一位乞丐叫住&#xff0c;这位乞丐对constbh说&#xff0c;我看你骨骼惊奇&#xff0c;…

Bat命令学习

参考资料&#xff1a;http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html

记一次CentOS7内核kernel的删除重装

人生在于折腾&#xff0c;学习Linux更要多多折腾。在一次折腾中吸取教训&#xff0c;更易于记忆。今天我们来折腾Linux的内核&#xff1a;删除系统内核后&#xff0c;通过光盘进行kernel的重安装。友情提示&#xff1a;请在虚拟机环境进行&#xff0c;折腾前务必做好系统快照。…

tcpdump抓包并保存到远程服务器

有的时候&#xff0c;运行tcpdump抓包进程的主机A可能没有足够的硬盘空间。例如我们使用树霉派搭建了一个热点&#xff0c;然后我们想在树霉派上抓包&#xff0c;因为树霉派的存储很小&#xff0c;所以很容易在短时间内将存储空间使用完。 为了解决该问题&#xff0c;我们可以…

【ACM】家喻户晓的中药店(待更)

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/43/1007 【问题描述】 long_xiao和const_hhh是一对恩爱的夫妻。 他们在京城经营着一家中药店&#xff0c;夫妻二人医术精湛、古道热肠&#xff0c;虽然年过花甲&#xff0c;身体依然硬朗。更重要的是&#xff…

常用MySQL的命令集锦

常用MySQL的命令集锦 一、连接MySQL 格式&#xff1a; mysql -h主机地址 -u用户名 &#xff0d;p用户密码 1、例1&#xff1a;连接到本机上的MYSQL。 首先在打开DOS窗口&#xff0c;然后进入目录 mysqlbin&#xff0c;再键入命令mysql -uroot -p&#xff0c;回车后提示你输密码…

google的gn构建系统

什么是GN&#xff1f; GN是一个生成Ninja构建文件的元构建系统&#xff0c;以便你可以用Ninja构建Chromium。 你为什么从GYP切换&#xff1f; 我们相信GN文件比GYP文件更具可读性和可维护性。GN很快&#xff1a; GN比GYP快20倍。GN支持作为构建的一部分&#xff0c;根据Ninj…

【ACM】五子棋

题目链接&#xff1a;http://acm.nuc.edu.cn/OJ/contest/show/25/1009 【问题描述】 五子棋想必大家都玩过&#xff0c;如果没有那我只能重新介绍一下规则了&#xff0c;当横竖斜&#xff08;共八个方向&#xff09;出现5个同色棋子时&#xff0c;则认为该颜色棋的选手获胜。…

源码编译安装httpd及其常见错误

一、编译安装的整体步骤 1、在官网下载源码&#xff0c;并解压2、切换到其目录中 3、执行./configure4、编译 二、编译中及安装后配置常见的参数及其说明编译中配置1&#xff09;指定安装路径--prefix/usr/local/Pacakage_name 指定安装路径--sysconfigdir/etc/Package_name …

Nhibernate3循序渐进(三): 一对多映射和级联保存

我们知道, 对于数据库中的一对多关系, 我们在建表的时候, 应该在多表这里建立外键我们准备这样一个场景, 大学里的系和学生, 一个系有多个学生Department类和Xml如下:Department.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespa…

自定义UISearchBar外观

本文转载至 http://www.jianshu.com/p/66b5b777f5dc 最近&#xff0c;在项目过程中遇到要自定义SearchBar的外观&#xff0c;虽然自己觉得用系统默认的外观就行了&#xff0c;不过UI设计师要求不用系统的默认样式&#xff0c;要跟app主题保持 一致。 图1&#xff1a;设计效果图…

linux内存管理和原理分析

https://blog.csdn.net/rebirthme/article/details/50402082

【数据结构】邻接矩阵及其实现

文件操作比直接输入方便很多 直接输入&#xff1a; //建立图的邻接矩阵储存结构 #include <stdio.h> #include <string.h> #define M 20 #define FINITY 5000 typedef struct {char vexs[M];int edge[M][M];int n,e; }Mgraph;//c0&#xff0c;表示建立无向图 …

对职业生涯的思考

从刚毕业到目前所在公司&#xff0c;差不多6年了&#xff0c;想想这六年里面&#xff0c;自己的能力和刚毕业比有了很大的提升&#xff0c;但是现在在什么能力上&#xff0c;我不知道&#xff0c;毕竟没有去过别的公司。最近也在思考自己未来&#xff0c;算是比较迷茫阶段。趁最…

jquery源码分析(七)——事件模块 event(二)

上一章节探讨了事件的一些概念&#xff0c;接下来看下jQuery的事件模块。 jQuery对事件的绑定分别有几个API&#xff1a;.bind()/.live()/.delegate()/.on()/click()&#xff0c; 不管是用什么方式绑定&#xff0c;归根到底还是用addEventListener/attachEvent&#xff08;IE&a…

google gn构建系统的介绍

GN语言和操作 GN语言和操作 内容介绍 使用内置的帮助设计理念语言 字符串清单条件语句循环函数调用作用域和执行Scoping and execution命名事物 文件和目录名称构建配置目标CONFIGS 公共配置模板其他特性 Imports路径处理模式执行脚本与Blaze的区别和相似之处 介绍 本页面描述…

【数据结构】邻接表的储存结构 建立图的邻接表算法

【数据结构】邻接矩阵及其实现 一个图的邻接矩阵的表示是唯一的&#xff0c;但其邻接表表示不唯一&#xff0c;这是因为在邻接表结构中&#xff0c;各便表结点的链接次序取决于建立邻接表时的算法以及输入的次序。 一般而言邻接矩阵适合存储稠密图&#xff0c;邻接表适合存储…

报错:该字符串未被识别为有效的DateTime

报错&#xff1a;该字符串未被识别为有效的DateTime □ 背景 前端的搜索条件中包含关于时间的字符串&#xff0c;由jquery ui的datepicker产生时间字符串。 服务端对时间做了一次转换&#xff1a;DateTime.Parse(Request["时间字段"].ToString())。 搜索的时候没有选…