基于GoogleMapMapabc51dituVirtualEarthYahooMap Api接

2016-02-19 16:17 2 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享基于GoogleMapMapabc51dituVirtualEarthYahooMap Api接的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

  框架介绍

  Jquery是一个轻量级,快速简洁的Javascript框架,它的容量小巧,压缩后的js文件只有31k,简洁和简短的语法,容易记;用户能更方便地处理HTML DOM、Events、实现动画效果,并且提供Ajax的支持。

  插件思想

  利用Jquery的插件机制,这里先介绍最简单的插件形成:

  首先新建jquery.sayHi.js做为sayHi功能的插件文件(jquery插件命名规则没有限制,这里推荐使用jquery.XX.js的命名方式)

  Jquery插件机制的基本结构如下:

(function($){
//…
})(jQuery);

  现在添加我们的sayHi功能:

(function($){
  $.sayHi=function(name){alert("Isayhito"+name);}
})(jQuery);

  然后在页面上引用jquery.sayHi.js,当然jquery.js也要引用:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

scripttype="text/javascript"
$(document).ready(function(){
  $("#btn").click(function(){
    $.sayHi("cnblogs");
  });
});
/script
inputtype="button"id="btn"value="sayHi"/

  最终显示结果为:“I say hi to cnblogs”的提示框;

  嗯,上面是调用全局的方法,如果要利用DOM元素来调用方法呢,这里介绍要使用 $.fn.方法名:

  再看下面的例子:

  这里设置一个文本框是否只读的方法插件 jquery.setReadOnly.js

(function($){
  $.fn.setReadOnly=function(_isReadOnly){
    returnthis.filter("input:text")
      .attr("readonly",_isReadOnly)
      .css("opacity",_isReadOnly?0.5:1.0);
  }
})(jQuery);

  然后在页面上引用jquery.setReadOnly.js:

scripttype="text/javascript"
$(document).ready(function(){
  $("#txt").setReadOnly(true);
});
/script
inputtype="text"id="txt"/

  最终显示结果为:txt文本框设置为只读;

  如果在jquery插件文件中要扩展更多的全局属性和方法以及更多的DOM元素属性和方法,还可以通过$.extend(object)和$.fn.extend(object)方法来设置,按照上面的例子可以表示:

$.extend(
{
  name:"",
  sayHi:function(name){this.name=name;alert("Isayhito"+name);},
  sayGoodbye:function(){alert("Isaygoodbyeto"+this.name);}
});

  调用插件方法:$.sayHi(“cnblogs”);$.sayGoodbye();

  和

$.fn.extend(
{
  isReadOnly:false,
  setReadOnly:function(_isReadOnly){
    isReadOnly=_isReadOnly;
    returnthis.filter("input:text”)
      .attr(“readonly”,_isReadOnly)
      .css(“opacity”,_isReadOnly?0.5:1.0);
  },
  getReadOnly:function(){
    returnisReadOnly;
  }
});

  调用插件方法:$(“#txt”).setReadOnly(true).getReadOnly()

  主要思路

  嗯,基本Jquery插件机制的使用方法就是如此简单,现在开始介绍我的基于各类电子地图提供的api来设计通用的jquery插件:

  先看js文件结构如下:

  1.首先查看各大电子地图网站(可调用api接口),这里我查看了这些网站的api调用文档,我整理出来下:

  http://code.google.com/intl/en/apis/maps/documentation/introduction.html

  http://code.google.com/intl/zh-CN/apis/maps/documentation/index.html

  http://api.51ditu.com/docs/index.html

  http://developer.yahoo.com/maps/

  http://dev.live.com/virtualearth/sdk/

  要查看更多api,请链接http://www.programmableweb.com/apis

  2.设计jquery插件调用构架,我这里用了两个功能函数,InitMap函数和OpenInfoWindow函数,第一个就是初始化地图显示,第二个就是根据经纬度在地图上标注坐标点(点上可编写任何Html文本内容)

  初始化地图代码为:

$("#map").InitMap(
{
  maptype:"h",  //h,r
  overview:true,
  navscale:"large",//small,large
  center:
  {
    lat:24.898817,
    lng:118.598643,
    zoom:7
  }
});

  其中maptype为地图显示的是街道还是卫星地图(各地图api的常量会有所不同),overview为是否显示鹰眼图,navscale为地图上一些控件(如放大缩小)的显示模式,center为初始化中心点位置(lat纬度,lng经度,zoom缩放比例)

  在地图上标注坐标点为:

varmarker=$("#map").OpenInfoWindow(
{
  point:
  {
     lat:lat,
     lng:lng
  },
  info:"centerimgsrc=images/q1z_001.png/br蓝水晶/center",
  icon:
  {
     url:"images/marker.gif",
     width:20,
     height:20
  }
});

  其中point为在地图上标注的经纬度作标点,info为该点上的弹出框的Html文本内容,icon为指示该点显示的图标点;

  3.好了,有了上面通用的基本构架,那我们就可以来写基于各个地图api接口的jquery插件了。

  详细源代码,请在文章的最后下载我的文件链接;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  这里给大家看下效果图:

来源:https://www.tulaoshi.com/n/20160219/1611565.html

延伸阅读
51苹果助手怎么删除   51苹果助手怎么删除?51苹果助手是一款软件市场类应用,51苹果助手可以帮助用户下载各类软件与游戏,那么有用户不想用51苹果助手了要怎么删除呢? 一、首先进入苹果手机桌面,然后找到需要卸载的软件,用手指按住该软件桌面图标不放,大约3-5s左右,所有的图标都会开始抖动,如下图所示。 二、这...
声明: DeclareFunctionmciSendStringLib"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLength AsLong,ByValhwndCallbackAsLong)AsLong 代码: DimreturnstringAsString FileNameAsString returnstring=Space(127) FileName="C:A1.avi" erg=mciSend...
标签: Web开发
XML 是现在非常流行的数据表达格式,其特点是可移植、与平台无关以及具有直接可读的形式。Document Object Model (DOM) 是应用程序存取 XML 数据的接口。不幸的是,DOM 是一种相当复杂的 API,因而较难以迅速掌握。但是,如能知道所存取数据的 DTD,这时就容易得多了。本文将通过若干简单步骤,对如何利用 Java 版的 DOM 来存取 XML 数据进...
BroadcastSystemMessage将一条系统消息广播给系统中所有的顶级窗口GetMessagePos取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime取得消息队列中上一条消息处理完毕时的时间PostMessage将一条消息投递到指定窗口的消息队列PostThreadMessage将一条消息投递给应用程序RegisterWindowMessage获取分配给一个字串标识符的消息编...