当前位置: 编程技术>移动开发
本页文章导读:
▪十分有用的免费UI设计工具和资源 非常有用的免费UI设计工具和资源
这篇文章要与大家分享的都是一些很棒的免费UI设计工具和资源,有Web开发方面的,也有移动开发方面的,非常丰富,相信你能从中发现有用的资源。记得.........
▪ google 地图 、经纬度 google map 、经纬度
google map或百度map 应用关于map的具体用法请参考各自官方API。google和百度map都提供了范围搜索的功能:比如搜索指定位置指定范围内的所有kfc店铺,它.........
▪ ScreenOrientation 荧幕取向 ScreenOrientation 屏幕取向
Portrait
Portrait orientation.纵向取向。
PortraitUpsideDown
Portrait orientation upside down.纵向倒置。
LandscapeLeft
Landscape orientation, counter-clockwise from the portrait orientation.横向取向.........
[1]十分有用的免费UI设计工具和资源
来源: 互联网 发布时间: 2014-02-18
非常有用的免费UI设计工具和资源
推荐:免费资源库,http://www./other/1391134.html
这篇文章要与大家分享的都是一些很棒的免费UI设计工具和资源,有Web开发方面的,也有移动开发方面的,非常丰富,相信你能从中发现有用的资源。记得推荐一下哦 :)
ALL In One Web Elements Kit OSX Leopard GUI Set iPad GUI PSD Dojo Massive Web UI & Button Set Small GUI Pack Eclipse Stencil for OmniGraffle Dijit – The Dojo Toolkit MochaUI DHTMLX LivePipe UI jQTouch Best Practice UX Forms Stencil Free Web UI Wireframe Kit Wireframe Magnets (DIY Kit) EightShapes Unify Quommunnication Stencil Kit Facebook Applications Stencil Kit Flex Stencil Kit User Interface Design Framework Mephobox Unique Mobile UI Design Elements
http://buliedian.iteye.com/blog/1048957
转自:
推荐:免费资源库,http://www./other/1391134.html
[2] google 地图 、经纬度
来源: 互联网 发布时间: 2014-02-18
google map 、经纬度
google map或百度map 应用
关于map的具体用法请参考各自官方API。
google和百度map都提供了范围搜索的功能:比如搜索指定位置指定范围内的所有kfc店铺,它们使用的都是自己的店铺数据,可有时候我们只需要在地图上显示我们自己存储的店铺,并把它们标注在地图上,同样只给定两个参数:指定位置(某一处的经纬度lnglat)和搜索半径(r)。
每个地图API都提供了计算两个坐标之间距离的方法,我们可以从库中拿出所有的店铺的经纬度(slnglat),然后逐一计算出lnglat到slnglat距离s,若s<r,则这个店铺就是我们想要的可以直接返回给前端标注在地图上。呃...这种方法当然不可行,不过当然也不是绝对的啦...^_^
前段时间写了个例子,主要通过java实现(计算距离经纬度范围之类的)
1. 建立模型:半径r的范围表示一个圆,不过一般情况下我们完全可以把它看作是一正方形...呀呀呀,还是用代码说话吧,下面是一个pojo:
/**
* 类Bounds.java的实现描述:用户当前位置半径x米的经纬度范围
*
* @author zjb 2011-3-30 下午04:56:13
*/
public class Bounds {
/**
* 当前位置正北方向x米处 纬度
*/
private Double latN;
/**
* 当前位置正南方向x米处 纬度
*/
private Double latS;
/**
* 当前位置正东方向x米处 经度
*/
private Double lagE;
/**
* 当前位置正西方向x米处 经度
*/
private Double lagW;
//getters or setters
}
2. 计算所需要的经纬度范围Bounds,表示该点(lnglat)处正东西南北距离r处的经纬度坐标,具体方法如下:
//注意BigDecimal类
private static final int DEFAULT_DIV_SCALE = 6;
/**
* 1000表示1公里,111表示同经度时,纬度相差一度,距离就相差111公里
*
* @param lat 当前位置纬度
* @param lag 当前位置经度
* @param r 半径,单位M(附近rM)
* @return Bounds
*/
public static Bounds conversion(Double lat, Double lag, Integer r) {
String l = String.valueOf(1000 * 111);
String latx = new BigDecimal(String.valueOf(r)).divide(new BigDecimal(l), DEFAULT_DIV_SCALE,
BigDecimal.ROUND_HALF_EVEN).toString();
String lagx = new BigDecimal(latx).divide(new BigDecimal(String.valueOf(Math.cos(lat))), DEFAULT_DIV_SCALE,
BigDecimal.ROUND_HALF_EVEN).toString();
Double latN = lat + Math.abs(Double.valueOf(latx));
Double latS = lat - Math.abs(Double.valueOf(latx));
Double lagE = lag + Math.abs(Double.valueOf(lagx));
Double lagW = lag - Math.abs(Double.valueOf(lagx));
Bounds bounds = new Bounds();
bounds.setLagE(lagE);
bounds.setLagW(lagW);
bounds.setLatN(latN);
bounds.setLatS(latS);
return bounds;
}
3. 拿到Bounds,就能获取指定位置(lnglat)正东西南北距离r处的经纬度,然后再去查询数据库,sql如下(mybatis):
//company 里面存放经纬度
SELECT * FROM company where lat >= #{latS} and lat <= #{latN} and lag >= #{lagW} and lag <= #{lagE}
4. 以上获取到的是以lnglat为中心,2r为长宽的正方形区域内的所有已存储店铺,我这里进行了过滤(遍历上面的数据,计算它到lnglat的距离,大于r则剔除)保证取到的是在圆形区域:
/**
* @param lat 纬度
* @param lag 经度
* @param r 半径
* @return Boolean
*/
public static Boolean check(Company company, Double lat, Double lag, Integer r) {
double R = 6371;//地球半径
double distance = 0.0;
double dLat = Double.valueOf(new BigDecimal(String.valueOf((company.getLat() - lat)))
.multiply(new BigDecimal(String.valueOf(Math.PI)))
.divide(new BigDecimal(String.valueOf(180)),
DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());
double dLon = Double.valueOf(new BigDecimal(String.valueOf((company.getLag() - lag)))
.multiply(new BigDecimal(String.valueOf(Math.PI)))
.divide(new BigDecimal(String.valueOf(180)),
DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(company.getLat() * Math.PI / 180)
* Math.cos(lat * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2);
distance = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))) * R * 1000;
System.out.println(distance);
if (distance > Double.valueOf(String.valueOf(r))){
return false;
}
return true;
}
好了,拿到圆形区域内的所有店铺了,根据其经纬度标注到地图上吧。
google map或百度map 应用
关于map的具体用法请参考各自官方API。
google和百度map都提供了范围搜索的功能:比如搜索指定位置指定范围内的所有kfc店铺,它们使用的都是自己的店铺数据,可有时候我们只需要在地图上显示我们自己存储的店铺,并把它们标注在地图上,同样只给定两个参数:指定位置(某一处的经纬度lnglat)和搜索半径(r)。
每个地图API都提供了计算两个坐标之间距离的方法,我们可以从库中拿出所有的店铺的经纬度(slnglat),然后逐一计算出lnglat到slnglat距离s,若s<r,则这个店铺就是我们想要的可以直接返回给前端标注在地图上。呃...这种方法当然不可行,不过当然也不是绝对的啦...^_^
前段时间写了个例子,主要通过java实现(计算距离经纬度范围之类的)
1. 建立模型:半径r的范围表示一个圆,不过一般情况下我们完全可以把它看作是一正方形...呀呀呀,还是用代码说话吧,下面是一个pojo:
/**
* 类Bounds.java的实现描述:用户当前位置半径x米的经纬度范围
*
* @author zjb 2011-3-30 下午04:56:13
*/
public class Bounds {
/**
* 当前位置正北方向x米处 纬度
*/
private Double latN;
/**
* 当前位置正南方向x米处 纬度
*/
private Double latS;
/**
* 当前位置正东方向x米处 经度
*/
private Double lagE;
/**
* 当前位置正西方向x米处 经度
*/
private Double lagW;
//getters or setters
}
2. 计算所需要的经纬度范围Bounds,表示该点(lnglat)处正东西南北距离r处的经纬度坐标,具体方法如下:
//注意BigDecimal类
private static final int DEFAULT_DIV_SCALE = 6;
/**
* 1000表示1公里,111表示同经度时,纬度相差一度,距离就相差111公里
*
* @param lat 当前位置纬度
* @param lag 当前位置经度
* @param r 半径,单位M(附近rM)
* @return Bounds
*/
public static Bounds conversion(Double lat, Double lag, Integer r) {
String l = String.valueOf(1000 * 111);
String latx = new BigDecimal(String.valueOf(r)).divide(new BigDecimal(l), DEFAULT_DIV_SCALE,
BigDecimal.ROUND_HALF_EVEN).toString();
String lagx = new BigDecimal(latx).divide(new BigDecimal(String.valueOf(Math.cos(lat))), DEFAULT_DIV_SCALE,
BigDecimal.ROUND_HALF_EVEN).toString();
Double latN = lat + Math.abs(Double.valueOf(latx));
Double latS = lat - Math.abs(Double.valueOf(latx));
Double lagE = lag + Math.abs(Double.valueOf(lagx));
Double lagW = lag - Math.abs(Double.valueOf(lagx));
Bounds bounds = new Bounds();
bounds.setLagE(lagE);
bounds.setLagW(lagW);
bounds.setLatN(latN);
bounds.setLatS(latS);
return bounds;
}
3. 拿到Bounds,就能获取指定位置(lnglat)正东西南北距离r处的经纬度,然后再去查询数据库,sql如下(mybatis):
//company 里面存放经纬度
SELECT * FROM company where lat >= #{latS} and lat <= #{latN} and lag >= #{lagW} and lag <= #{lagE}
4. 以上获取到的是以lnglat为中心,2r为长宽的正方形区域内的所有已存储店铺,我这里进行了过滤(遍历上面的数据,计算它到lnglat的距离,大于r则剔除)保证取到的是在圆形区域:
/**
* @param lat 纬度
* @param lag 经度
* @param r 半径
* @return Boolean
*/
public static Boolean check(Company company, Double lat, Double lag, Integer r) {
double R = 6371;//地球半径
double distance = 0.0;
double dLat = Double.valueOf(new BigDecimal(String.valueOf((company.getLat() - lat)))
.multiply(new BigDecimal(String.valueOf(Math.PI)))
.divide(new BigDecimal(String.valueOf(180)),
DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());
double dLon = Double.valueOf(new BigDecimal(String.valueOf((company.getLag() - lag)))
.multiply(new BigDecimal(String.valueOf(Math.PI)))
.divide(new BigDecimal(String.valueOf(180)),
DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(company.getLat() * Math.PI / 180)
* Math.cos(lat * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2);
distance = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))) * R * 1000;
System.out.println(distance);
if (distance > Double.valueOf(String.valueOf(r))){
return false;
}
return true;
}
好了,拿到圆形区域内的所有店铺了,根据其经纬度标注到地图上吧。
[3] ScreenOrientation 荧幕取向
来源: 互联网 发布时间: 2014-02-18
ScreenOrientation 屏幕取向
-
PortraitPortrait orientation.
纵向取向。 -
PortraitUpsideDownPortrait orientation upside down.
纵向倒置。 -
LandscapeLeftLandscape orientation, counter-clockwise from the portrait orientation.
横向取向。从纵向逆时针旋转。 -
LandscapeRightLandscape orientation, clockwise from the portrait orientation.
横向取向。从纵向顺时针旋转。 -
LandscapeDefault landscape orientation, counter-clockwise from the portrait
默认横向取向,从纵向逆时针旋转(等于LandscapeLeft)。 -
AutoRotationAuto Rotation, will use enabled orientations.
自动旋转,将使用已启用的方向
最新技术文章: