我正在尝试使用此viewDidLoad方法获取用户当前的纬度和经度.生成的映射正确指示当前位置,但NSLog始终显示:
2009-09-19 16:45:29.765 Mapper[671:207] user latitude = 0.000000
2009-09-19 16:45:29.772 Mapper[671:207] user longitude = 0.000000
Run Code Online (Sandbox Code Playgroud)
谁知道我在这里失踪了什么?在此先感谢您的帮助!
- (void)viewDidLoad {
[super viewDidLoad];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
[mapView setShowsUserLocation:YES];
CLLocation *userLoc = mapView.userLocation.location;
CLLocationCoordinate2D userCoordinate = userLoc.coordinate;
NSLog(@"user latitude = %f",userCoordinate.latitude);
NSLog(@"user longitude = %f",userCoordinate.longitude);
}
Run Code Online (Sandbox Code Playgroud) 我有一个来自Inkscape,Illustrator或任何其他应用程序的SVG文件.我想形状转换为lineto,moveto,curveto格式.
我想要的是:
./Appname svgfile outfilewithpath
Run Code Online (Sandbox Code Playgroud)
我将SVG文件作为参数,然后我的应用程序将对象转换为相应的路径.
我正在尝试在ASP.NET中开发一个页面,它将充当Google Map的tile-server
它将从数据库中提取一组纬度/经度点,然后在给定缩放级别(默认值:15)的情况下将它们渲染为透明背景上的小红点.
然后它将结果作为GIF类型的图像返回.
是否开发了任何算法或库,允许我采用这组纬度/经度并将其转换为一组2D像素坐标,给定缩放级别?
(这一切都是在服务器端完成的,因此我无法使用Google Maps API.)
更新:在Perl中找到了类似的代码示例:
http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/
麻烦的是,我不知道Perl,也没有时间破解书籍并学习它.
任何人都可以帮我解读这个函数中发生的事情吗?
sub Google_Coord_to_Pix
{
my $value = shift ;
my $lat = shift ;
my $lng = shift ;
my @d = ( ) ;
my $e = 0 ;
$d[1] = sprintf("%0.0f", $$value{'bmO'} + $lng * $$value{'pixLngDeg'} ) ;
$e = sin($lat * $$value{'Wa'}) ;
if( $e > 0.99999 )
{
$e = 0.99999 ;
}
if( $e < -0.99999 )
{
$e = -0.99999 ;
}
$d[0] …Run Code Online (Sandbox Code Playgroud) 我需要逆时针对矩形的坐标列表进行排序,并将东北角作为第一个坐标.这些是十进制形式的地理坐标(即经度,纬度).1
例如,这里是一个矩形的4个角,从西北角开始,顺时针移动:
[
{ "lat": 34.495239, "lng": -118.127747 }, # north-west
{ "lat": 34.495239, "lng": -117.147217 }, # north-east
{ "lat": 34.095174, "lng": -117.147217 }, # south-east
{ "lat": 34.095174, "lng": -118.127747 } # south-west
]
Run Code Online (Sandbox Code Playgroud)
我需要逆时针对它们进行排序并将"锚点"/起点改为东北方向:
[
{ "lat": 34.495239, "lng": -117.147217 }, # north-east
{ "lat": 34.495239, "lng": -118.127747 }, # north-west
{ "lat": 34.095174, "lng": -118.127747 }, # south-west
{ "lat": 34.095174, "lng": -117.147217 } # south-east
]
Run Code Online (Sandbox Code Playgroud)
我不知道列表最初的顺序(即顺时针或逆时针).我不知道列表中第一个坐标代表哪个角.
1 当映射到地球表面时,这不是一个真正的矩形,但是因为我有两个相对的角,所以我称之为矩形以便于阅读.包裹+ 180/-180经度或+ 90/-90纬度的形状不是问题.
我创建了一个用于创建坐标矩阵的代码(如棋盘),它是以下内容:
createMatrix(N,M,R) :- creaMatriu(N,M,A), reversed(R,A).
creaMatriu(N,0,[T]) :- creafila(N,0,T),!.
creaMatriu(N,M,[T|C]) :- creafila(N,M,T), M1 is M-1, creaMatriu(N,M1,C).
creafila(0,M,[[M,0]]):-!.
creafila(N,M,[[M,N]|C]) :-N1 is N-1,creafila(N1,M,C).
reversed(A, B) :- reversed(B, [], A).
reversed([A|B], C, D) :- reverse(N,A),reversed(B, [N|C], D).
reversed([], A, A).
Run Code Online (Sandbox Code Playgroud)
我第一次执行它很顺利,但是当我增加矩阵的尺寸时,矩阵末端的"点"开始出现随着尺寸上升而递增一个坐标,如下所示:
?- createMatrix(1,1,R).
R = [[[0, 0], [0, 1]], [[1, 0], [1, 1]]] .
?- createMatrix(2,1,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, 1], [1, 2]]] .
?- createMatrix(2,2,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, …Run Code Online (Sandbox Code Playgroud) 通常情况下,极坐标从0到π到2个π(之前2个π真的,因为它再次等于0).但是,在使用JavaScript atan2()函数时,我会得到一个不同的,奇怪的范围:
Cartesian X | Cartesian Y | Theta (?)
===========================================================
1 | 0 | 0 (0 × π)
1 | 1 | 0.7853981633974483 (0.25 × π)
0 | 1 | 1.5707963267948966 (0.5 × π)
-1 | 1 | 2.356194490192345 (0.75 × π)
-1 | 0 | 3.141592653589793 (1 × π)
-1 | -1 | -2.356194490192345 (-0.75 × π)
0 | -1 | -1.5707963267948966 (-0.5 × π … 嗨,我有一个带有一些位置数据的遗留数据库.字段只是带有这样字符串的文本字段0°25'30"S, 91°7'W.有没有一些方法,我可以转换这些两个浮点数为Decimal Latitude和Decimal Longitude?
编辑:
所以一个例子是: 0°25'30"S, 91°7'W- > 0.425,91.116667其中原始单个字段位置产生两个浮点数.
任何帮助非常感谢.
我有一个包含在相对布局中的图像视图.我试图获取图像视图顶部的屏幕y坐标和图像视图底部的屏幕y坐标.我试过这个:
float yMin = (float)levelH.getTop();
float yMax = (float)levelH.getBottom();
Run Code Online (Sandbox Code Playgroud)
漂浮yMin似乎几乎是正确的.我正在这个图像视图(IM1)上下翻译另一个图像视图(IM2).所以我试图设置一个限制(IM2)可以向上和向下翻译.所以我的想法是得到(IM1)的y顶部和底部我可以将它们设置为max和min.
有人知道怎么做吗?
ps我用android accelometer来移动(IM2)
我希望有人可以帮助我,这就是我想要做的.
我有一个JTextPane,我想截取特定的JTextPane坐标和大小,到目前为止,我可以做一个JTextPane大小的截图,但我无法得到我的截图总是得到的特定坐标(0,0 )坐标.
这是我的方法:
void capturaPantalla ()
{
try
{
int x = txtCodigo.getX();
int y = txtCodigo.getY();
Rectangle areaCaptura = new Rectangle(x, y, txtCodigo.getWidth(), txtCodigo.getHeight());
BufferedImage capturaPantalla = new Robot().createScreenCapture(areaCaptura);
File ruta = new File("P:\\captura.png");
ImageIO.write(capturaPantalla, "png", ruta);
JOptionPane.showMessageDialog(null, "Codigo de barras guardado!");
}
catch (IOException ioe)
{
System.out.println(ioe);
}
catch(AWTException ex)
{
System.out.println(ex);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个函数,它返回两点之间的点(lat,long)(我也指定它们的lat,long),并且该点基于距离百分比.
因此,我在函数上指定Lat1,Lon1,Lat2,Lon2和%,并返回一个点,例如,从第一个点到第二个点的距离为20%.
coordinates ×10
javascript ×2
python ×2
.net ×1
algorithm ×1
android ×1
atan2 ×1
automation ×1
geocoding ×1
geospatial ×1
google-maps ×1
gps ×1
iphone ×1
java ×1
jtextpane ×1
mapkit ×1
maps ×1
matrix ×1
pixel ×1
prolog ×1
radians ×1
save-as ×1
screenshot ×1
shapes ×1
sorting ×1
svg ×1
swing ×1
translation ×1