小编neb*_*ebs的帖子

将静态谷歌地图加载到UIImageView?

我想在我的应用中显示一个小的静态谷歌地图.我想知道是否可以使用UIImageView来做到这一点?它似乎对我不起作用,但也许我做错了什么.

这就是我所拥有的(我删除了URL以便更容易阅读):

NSURL *mapurl = [[NSURL alloc]    initWithString:@"http://maps.google.com/maps/api/staticmap?[...]"]; 
NSData *mapdata = [[NSData alloc] initWithContentsOfURL:mapurl];
UIImage *uimap = [[UIImage alloc] initWithData:mapdata];
self.map.image = uimap; // map is my UIImageView    
[mapurl release];   
[mapdata release];
[uimap release];
Run Code Online (Sandbox Code Playgroud)

我知道我的UIImageView设置正确,因为如果我用一个图像替换URL,那么它加载正常.此外,我知道谷歌地图网址是正确的,因为如果我直接加载到浏览器它显示正常.

我开始认为这可能是不可能的.如果有人有任何想法或替代方案,请分享.

谢谢.

iphone google-maps uiimageview google-maps-static-api

3
推荐指数
1
解决办法
2046
查看次数

MKMapView:获得相对缩放比例?

我需要获得某种缩放因子,告诉我地图缩放了多少(每当区域发生变化时).

我的第一个想法是使用跨度的delta纬度或经度值.我将跟踪"旧"值,然后在地图区域更改时更新值,并将比率与旧值进行比较.

我正在使用以下委托方法:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
    // Get the new value
    CLLocationDegrees newdlat = mapView.region.span.latitudeDelta;

    // Find the zoom ratio (use longitude instead?)
    CGFloat zoomRatio = newdlat / olddlat;

    // Update the old value (defined elsewhere)
    olddlat = newdlat;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我没有使用经度delta,因为我认为它会按比例缩放到纬度,这将产生相同的比率(这是错误的吗?).

问题是当我在滚动地图时检查经度和纬度增量的值(没有缩放)时,值会略有变化.如果地图没有缩放,跨度值是否应该保持不变?也许我误会了什么.

由于这种微小的变化,我担心我的缩放比率不够准确无法依赖(最终我将使用它来缩放地图上的注释图像).

我的主要问题是这是一个很好的方法,还是有一种更简单的方式可以忽略?

谢谢你的帮助.

iphone google-maps mkmapview

3
推荐指数
1
解决办法
8135
查看次数

MySQL:在一个查询中统计两件事情?

我的一个表中有一个"布尔"列(值为0或1).

我需要得到两个计数:布尔值设置为0的行数和设置为1的行数.目前我有两个查询:一个计数1,另一个计算0.

在使用WHERE条件计算行时,MySQL是否遍历整个表?我想知道是否有一个查询允许两个计数器根据不同的条件?

或者有没有办法获得WHERE条件计数的总计数?这就足够了,因为我只需要从另一个中减去一个计数(由于列的布尔性质).没有NULL值.

谢谢.

mysql count

2
推荐指数
1
解决办法
4898
查看次数

Obj-C:在dealloc方法中retainCount> 1?

如果在释放之前dealloc方法中对象的保留(引用)计数大于1,这是否意味着内存泄漏?

我正在调试我的代码以找到另一个问题,但后来遇到了这个微妙的问题.在dealloc方法中,我的一个对象的保留计数是3.此对象是具有retain的属性,仅在类中调用.现在我想在dealloc方法中所有对象的保留计数应该是1,然后才能正确释放?

这是自定义类中的dealloc方法示例:

- (void)dealloc {
    // Prints: "myObject retaincount: 3"
    NSLog(@"myObject retaincount: %d", [myObject retainCount]);

    // myObject retain count will be 2 after this call
    [myObject release];

    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?

iphone memory-management objective-c retain

0
推荐指数
1
解决办法
999
查看次数

UITextView:如何从加载XML的字符串中设置'\n'?

我需要在我正在加载的XML文件中的字符串中指示"新行".

如果我硬编码字符串:

myTextView.text = [NSString stringWithString:@"Line1 \nLine2 \nLine3"];
Run Code Online (Sandbox Code Playgroud)

它显示:

Line1
Line2
Line3
Run Code Online (Sandbox Code Playgroud)

(如预期的那样)

但是,如果我将确切的字符串放在我的XML文件中:

<someNode string="Line1 \nLine2 \nLine3" />
Run Code Online (Sandbox Code Playgroud)

然后将其加载到它显示的UITableView中:

Line1 \nLine2 \nLine3
Run Code Online (Sandbox Code Playgroud)

我在某处读过'\n'字符是在编译时处理的,这是真的吗?这可以解释我所看到的行为.

如果是这种情况,我怎么能在我的XML加载字符串中定义一个新行,并仍然在UITextView中正确处理它?还有另一种方法吗?

谢谢.

xml iphone newline objective-c uitextview

0
推荐指数
1
解决办法
2117
查看次数