Posted on 2015年8月15日 in 开放代码
google map vpi第三个版本后,载入速度快了很多,部分调用代码也有所改变。示例里面,有多个marker的示例,但却没有给出配套的infowindow的代码,参考了一下其他网友的写法后,得到以下可运行的代码。
var map;
var infowindow = null;
function initMap() {
map = new google.maps.Map(document.getElementById(‘map’), {
zoom: 2,
center: {lat: 20, lng: 0}
});
setMarkers(map,sites);
infowindow = new google.maps.InfoWindow({
content: “loading…”
});
}
var sites = [
[‘site1′, 22, 114,’img/star.png’,’info content1′],
[‘site2′, 32, 114,’img/flag.png’,’info content2′],
[‘site3′, 42, 114,’img/flag.png’,’info content2′],
];
function setMarkers(map,markers) {
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var marker = new google.maps.Marker({
position: {lat: sites[1], lng: sites[2]},
map: map,
icon: sites[3],
title: sites[0],
html:sites[4]
});
google.maps.event.addListener(marker, “click”, function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
注:
1、请在同目录下的img文件夹,添加star.png和flag.png两个图像文件;
2、参考:http://you.arenot.me/2010/06/29/google-maps-api-v3-0-multiple-markers-multiple-infowindows/
Posted on 2013年10月11日 in 开放代码
Bootstrap3优先移动设备,相关页面元素,如div等在页面缩小后,会变成列堆叠,自然就产生了哪些元素显示在前面,哪些元素显示在后面的问题。
问题依旧来自于做图书馆的网站,在某浏览具体内容的页面中,页面二八开,左边是分类导航之类的东西,右边是内容,当用户通过移动设备访问时,理所当然的是希望看到内容,而不是分类导航,那么该怎么样使得在手持设备上,内容可以先于分类导航显示呢?
======残忍的分割线======
当然,可以以一种残忍的做法,使用“hidden-xs”之类的属性隐藏左边的分类导航。
======结束残忍的分割线=====
草草google了一下,尚无明确的页面,于是看官网,有提到“通过使用.col-md-push-*
和 .col-md-pull-*
就可以很容易的改变列的顺序”,下面还有个简单的例子,咋一看不是很明白,于是测试了下,最终确定了用法,确实可以解决碰到的问题。
简单来说,col-??-push-*和col-??-pull-*,主要起改变元素在大屏幕页面上的显示位置的作用,对于手持设备的小屏幕显示(也就是堆叠的列的顺序或者说位置),会严格按照html代码的先后顺序显示,那么我们自然就知道用法了:在html里面,把要先显示的内容写在前面,后显示的内容写在后面,然后用push和pull对它们在大屏幕上的左右位置进行调整,例子如下:
<div class=’col-12 col-sm-9 col-sm-push-3′>//这个div占了9个栅格,先写,让它在手持设备上可以先显示,然后用push往右推3个栅格,让它在大屏幕显示在右边。
<div class=’col-6 col-sm-3 col-sm-pull-9′> //这个div占了3个栅格,后写,让它在手持设备上后显示,然后用ull往左拉9个栅格,让它在大屏幕显示在左边。
就这么简单。
Posted on 2009年4月13日 in 开放代码, 收藏
找了好长一段时间,原文请参考以下地址:
java 实现繁简字体转换(笨方法):http://www.javaeye.com/topic/261542?page=1
javabean:gb2big.java
// Created on 2009-4-13
package util;
public class gb2big
{
String shortChar = “万与丑专业丛东丝….”; //这里输出不完,请从网上的javascript找到完整字库
String longChar = “萬與醜專業叢東絲….”;
public String gb2big(String str)
{
String outputStirng = “”;
for (int i = 0; i < str.length(); i++)
{
if(shortChar.indexOf(str.charAt(i)) != -1)
{
outputStirng += longChar.charAt(shortChar.indexOf(str.charAt(i)));
}
else
{
outputStirng += str.charAt(i);
}
}
return outputStirng;
}
}
测试页面:test.jsp
Posted on 2009年4月11日 in 开放代码, 笔记
tomcat和resin有些许不同,简单的记录一下,高手请随便飘过……
一、配置:
1、拷贝连接mysql的jar包mysql-connector-java-3.1.10-bin.jar到tomcat安装目录下的common/lib/目录下。
2、打开tomcat安装目录下的conf目录,分别修改server.xml、web.xml和context.xml文件:
2.1、在server.xml中,找到,在其前面加入:
2.2、在web.xml中,在最后之前,加入:
DB Connection
jdbc/mysql
javax.sql.DataSource
Container
2.3、在context.xml(当然也有可能是在conf/Catalina/localhost/下的虚拟目录配置文件)中,找到,在其后面加入:
即可完成配置。
二、简单的连接javabean(放在classes/myPool文件夹下,命名为mysqlpool.java):
/*
* Created on 2009-4-10
* yuanxinz@gmail.com
*/
package myPool;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class mysqlpool {
private javax.sql.DataSource pool;
public mysqlpool()
{
try
{
InitialContext ctx=new InitialContext();
pool=(DataSource)ctx.lookup(“java:comp/env/jdbc/mysql”);
}
catch(Exception e)
{
System.err.println(“Exception error:”+e.getMessage());
}
}
/**
* @return
*/
public javax.sql.DataSource getPool() {
return pool;
}
}
三、测试jsp:
Posted on 2008年12月17日 in 开放代码
在优雅的jquery框架下,很快地实现了将我馆的和厦大馆的随书光盘整合到innovative系统的opac中,接下来会加快电子期刊、电子图书及网络资源的整合。
效果页面:
Posted on 2008年12月5日 in 开放代码
和厦大图书馆共通随书光盘有无,通过json来实现数据传递。
json样例(肖同学提供,严重感谢~):
({
”title”:”Title is here”,
”url”:”Url is here”
})
jquery处理样例:
$.getJSON(“http://url&callback=?”, {isbn:12345678900},function(data){
alert(“title:”+data.title);
alert(“url:”+data.url);
});
需要注意的是上面回调的参数用callback,而不是jsoncallback。
Posted on 2008年10月14日 in 开放代码
jQuery是一个更为好用的javascript框架,偶已经决定将其应用到实践中。对于跨域,jQuery可以通过getJSON()方法,以HTTP GET 请求的方式载入 JSON 数据,从而提供了较prototype更简便的解决方案。
在 jQuery 1.2 中,您可以通过使用JSONP(JSON with Padding,或者JSON with callbacks) 形式的回调函数来加载其他网域的JSON数据,如 “myurl?callback=?”。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。(ps:此行以后的代码将在这个回调函数执行前执行)
jQuery.getJSON(url,[data],[callback])
参数:
url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 载入成功时回调函数。
示例:
从 Flickr JSONP API 载入 4 张最新的关于猫的图片。
HTML 代码:
jQuery 代码:
$.getJSON(“http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?”,
function(data){
$.each(data.items, function(i,item){
$(““).attr(“src”, item.media.m).appendTo(“#images”);
if ( i == 3 ) return false;
});
});
——————————————————————————–
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
$.getJSON(“test.js”, function(json){
alert(“JSON Data: ” + json.users[3].name);
});
——————————————————————————–
从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
$.getJSON(“test.js”, { name: “John”, time: “2pm” }, function(json){
alert(“JSON Data: ” + json.users[3].name);
});
本文数据及样例来自:http://jquery-api-zh-cn.googlecode.com/svn/trunk/index.html
参加过“数字图书馆高级研讨班”的朋友们,肯定对林夏老师的信息可视化课程印象深刻。一般来说,信息可视化的程序,都是采用桌面程序来实现。这是因为桌面程序有丰富的API支持,实现起来比较容易。但是,相对于web,桌面程序不利于使用和传播,因此,如何在web中轻松实现信息的可视化,曾经是个棘手的问题。Java Applet、flash、SVG、ActiveX、JFreeChart、Silverlight等等技术,都给出了解决方案,但要求的技术成本有点高的。其实,使用简单的javascript,一样可以满足我们在web中实现信息可视化的大部分需求,只是因为相关标准不完善(例如canvas标签很长时间得不到承认和支持),一直以来不受重视。不过,随着web2.0的兴起,javascript成为宠儿,许多javascript框架出现之后,使用javascript在web中实现信息可视化方面,迅速成为焦点。
采用javascript来做这一事情的好处是显而易见的,所以,大部分javascript框架都实现了丰富的绘图接口,并且有更多的第三方插件基于基本的javascript框架,对相关功能进行封装,以便于我们更好的应用。本文中介绍的Flot插件就是其中的佼佼者。
Flot是基于jQuery的、纯脚本的、开源的插件,由丹麦的iola工作室开发,它的官方站点在http://code.google.com/p/flot/,上面有例子和源码下载。
接下来,如下图所示,我们使用Flot来实现一个简单的例子,将每个月和每天的入馆人数用一条曲线图展示出来(马上下载本例子的源码)。
Posted on 2008年4月26日 in 开放代码
一、编写脚本内容,并命名为backupdata,置于根目录:
#!/bin/sh
#备份文件名
backupfile=”`date +”%Y%m%d”`.tar”
export backupfile
#删除旧备份
rm /backup/*.tar
#进入待备份数据目录
cd /u/data/
#打包data文件夹下的database目录
tar cvf /backup/$backupfile database
#将ftp相关信息输出到netrc,使用netrc实现ftp自动上传
#ftp用户名:backup,密码backup
echo “default login backup password backup”>/.netrc
#初始化,macro define initial
echo “macdef init”>>/.netrc
#文件的传输方式设为二进制
echo “bin”>>/.netrc
#ftp服务器路径,backup文件夹
echo “cd backup”>>/.netrc
#本地路径
echo “lcd /backup”>>/.netrc
#上传
echo “put $backupfile”>>/.netrc
#完成后断开连接
echo “bye”>>/.netrc
#输出空白行,说明macdef定义结束
echo “”>>/.netrc
#设置.netrc文件权限,仅能被本用户访问
chmod 600 /.netrc
#执行命令,访问ftp
/usr/bin/ftp 192.168.0.10
Posted on 2008年4月26日 in 开放代码
本文旨在提供可运行的例子,相关的知识点,参见以下链接:
源码运行之前,请先下载以下两个文件,并与domainA.html放在同一目录中:
- prototype框架:http://www.prototypejs.org/assets/2008/1/25/prototype-1.5.1.2.js
- prototype框架的跨域插件:http://www.mellowmorning.com/wp-content/uploads/2007/11/transport.js
源码: