mer*_*nix 5 iphone google-maps objective-c mapkit
我试图使用MKMapView,我想显示/更改谷歌提供的地图类型.我们都知道,在网站上我们可以使用普通道路类型,混合类型,卫星/照片类型,最近也可以使用浮雕类型.
这是我想要使用的最后一个.将它插入UIWebView + HTML +标准google API中没有问题,但由于种种原因,我现在更喜欢将它与MKMapView一起使用.但是......惊喜:
"似乎"我们不能使用tat类型的地图......
阅读Apple MKMapView类参考:
MKMapType
要显示的地图类型.
enum {
MKMapTypeStandard,
MKMapTypeSatellite,
MKMapTypeHybrid
};
Run Code Online (Sandbox Code Playgroud)
其中0表示MKMapTypeStandard
1是MKMapTypeSatellite
当然2是MKMapTypeHybrid ......
所以我们正式被允许使用那种3种地图,而不是浮雕类型,它似乎在苹果框架中根本不存在......
但我很好奇,所以我尝试了这个:
myMKMapView.mapType = 3; // a number not officially declared
Run Code Online (Sandbox Code Playgroud)
并且它工作得很好,苹果framweork要求谷歌正确的地图类型然后它在我的视图中显示它,在模拟器和iPhone设备.
所以,这是我的问题:
即使苹果文件中没有"正式"声明,你认为我还能使用它吗?Apple会拒绝我的应用程序以这种方式使用它的框架吗?
提前致谢,
卢卡
我确信如果苹果知道你正在这样做,他们会拒绝你的应用程序,因为他们很清楚你只能使用已记录的功能。我知道他们有工具可以检测对未记录方法的调用和私有框架的使用,但我不确定这是否会扩展到检查属性设置时的值。
但我确信这会创建脆弱的代码。如果 Google 引入其他地图类型并且 Apple 决定在未来的 SDK 更新中支持所有这些类型,则不能保证浮雕类型将保留为3. 另外,如果 Apple 对此属性添加检查,以便在未来的 iOS 版本中将其设置为3抛出异常,又会怎样呢?对于任何升级操作系统的人来说,您的应用程序都会崩溃,并且您将被迫使用另一种地图类型,这可能会随着功能的变化而让您的用户感到不安。这只是您无法控制的更改的两个示例,这些更改可能会影响您的用户。
总之,你可以使用这个:是的,但苹果可能会拒绝你的应用程序,而确定他们是否会这样做的唯一方法就是这样做。您还必须保持警惕,以确保未来的 iOS 更新不会破坏您的代码。
| 归档时间: |
|
| 查看次数: |
635 次 |
| 最近记录: |