- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法弄清楚如何使用反向地理编码将街道地址,城市等显示为图钉上的子标题-每当用户添加图钉时。到目前为止,这是我的代码。我假设我必须编写“ annotation.subTitle = CLLocationCoordinate2D”以便在图钉上显示它,但是它似乎不起作用。我该怎么办?
最佳答案
听起来这里对Swift语法有些困惑,所以我将尝试解决这个问题,看看它是否可以解决您要解决的问题。如果我在解释您已经理解的代码,请原谅我。
阅读示例代码:
对于starers,我看到一个函数声明:
func action(gestureRecognizer: UIGestureRecognizer) { ...
action
的函数,带有一个名为
gestureRecognizer
的参数,它是一个
UIGestureRecognizer
。我假设问题中未显示的某个地方已经创建了
UIGestureRecognizer
,当它检测到适当的手势时将调用此函数。
action
函数中,我们将“已识别手势”打印到控制台。我假设您会看到,如果您运行此应用并在适当的视图上执行适当的手势。
touchPoint
的本地常量中。如果查看
UIGestureRecognizer class reference,我们会看到
UIGestureRecognizer
的
location
返回
CGPoint
类型,即“在局部坐标系中标识手势位置的点”。到目前为止,一切都还不错,好像我们正在检测手势,并确定手势在某些视图中发生的位置(可能是敲击)。
func reverseGeocodeLocation(_ location: CLLocation, completionHandler: @escaping CLGeocodeCompletionHandler)
reverseGeocodeLocation
的新嵌套函数。这并不是很糟糕,您可能想创建一个嵌套函数来定义一些可重用的行为(
Swift Programming Language中对嵌套函数进行了讨论)。但是,在这种情况下,这似乎是
CLGeocoder
中现有方法的副本,我怀疑您要执行的操作是调用该现有函数,而不是定义行为完全无关的同名新函数。
reverseGeocodeLocation
嵌套函数从不调用,因此该代码从不执行。在我看来,这似乎是要作为传递给
CLGeocoder
的
reverseGeocodeLocation
的完成处理程序,一旦对位置进行反向地理编码,该处理程序便会执行。
CLGeocoder
的现有函数,我们需要获取
CLGeocoder
的实例。这是一个实例方法,我们需要引用一些现有的Geocoder对象,我们可以在该对象上调用此函数。然后,我们需要构建一组有效的参数以传递给
reverseGeocodeLocation
。
CLGeocoder
没有任何自定义初始化程序,我们不需要向其提供任何数据即可创建实例,因此我们只需调用
CLGeocoder()
reverseGeocodeLocation
,我们看到了一组稍微复杂的参数:
func reverseGeocodeLocation(_ location: CLLocation, completionHandler: @escaping CLGeocodeCompletionHandler)
reverseGeocodeLocation
是
location
,还不错,我们可以从一对坐标中构建一个,所以我敢打赌,有一种方法可以将
CLLocation
屏幕坐标的位置转换为纬度和经度。
touchPoint
是一个
completionHandler
,稍微复杂一点,它是一个
closure,它捕获某些行为并提供自己的两个参数。
import CoreLocation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true // We're using asynchronous behavior here so we need this to tell the Playground to keep running until our reverse geocoding finishes rather than stopping immediately when it reaches the end of our example code.
let location = CLLocation(latitude: 37.332112, longitude: -122.0329646) // Somewhere near Apple HQ should geocode successfully
let geocoder = CLGeocoder()
geocoder.reverseGeocodeLocation(location) { (placemarks, error) in
print(placemarks?.first?.name)
PlaygroundPage.current.finishExecution() // Now that our async task has completed we can tell the playground that it is time to stop running.
}
CLGeocodeCompletionHandler
来执行反向地理编码,还需要存储它直到完成。如果我们只是在
CLGeocoder
函数中创建地址解析器,则该功能将完成,并且该地址解析器可能在有时间完成地址解析之前被销毁。解决此问题的一种方法是将地址解析器添加为包含此
action
函数的视图控制器(或其任何类)的属性,以便地址解析器与使用它的对象一样长。
action
的视图坐标转换为
touchPoint
。如果我们要触摸
CLLocation
,那么它的
MKMapView
功能可能正是我们所需要的。
关于swift - 针脚反向地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40118139/
我能否获得一个具有两个参数的递归Prolog谓词,称为反向,它返回列表的反向: 示例查询和预期结果: α-反向([a,b,c],L)。 L = [c,b,a]。 由两个称为palindrome的参数组
在使用 get_dummies() 将分类数据转换为数字数据后,我的数据框看起来像这样 score1 score2 country_CN country _AU category_leader ca
我有一张 table ,上面有一个国家/地区列表。说这些国家之一是“马其顿” 如果搜索“马其顿共和国”,什么 SQL 查询会返回“马其顿”记录? 我相信在 linq 中它会是这样的 var count
我们有一个角色继承结构,它假设每个人都默认获得最低级别的角色,而不是最高级别的过滤,如下图所示: role.Everyone //lowest level; everyone gets this ro
我正在使用 $.each() 解析数组,但在其中,我使用 .splice() 方法,因此我需要向后迭代。这可能吗? var store = [...]; //... var rules = [...]
我有一个 SPLObjectStorage 对象,其中 Player 对象作为键,分数作为与之关联的信息。玩家对象按照从最高分到最低分的顺序添加到存储中,但我现在需要以相反的顺序遍历它们。 我还需要能
我无法理解这一点:如果我给 Prolog reverse([], A). 它工作得很好,如果我给它 reverse(A, [] ). 并根据第一个建议回答 ; 它挂起!为什么? (GNU Prolog
我有一个 SPLObjectStorage 对象,其中 Player 对象作为键,分数作为与之关联的信息。玩家对象按照从最高分到最低分的顺序添加到存储中,但我现在需要以相反的顺序遍历它们。 我还需要能
我有一个HashMap看起来像: HashMap playerHashMap = new HashMap<>(); 玩家是包含姓名、号码、年龄等的对象。 现在我已经对它进行了排序,它看起来像这样: k
我有这个: file://localhost/Volumes/Untitled%20RAID%20Set%201/Callum/iTunes/Music/Steppenwolf/Steppenwolf
我正在使用 std::regex 并希望找到与某个用户定义的正则表达式字符串匹配的字符串中的最后一个位置。 例如,给定正则表达式 :.* 和字符串“test:55:last”,我想找到“:last”,
有一个表 ServErog(服务),它被重新引导到 4 个表 ServA、ServB、ServC、ServD(它们是不同的非统一服务),其中包含 servtype(服务类型)和 type_id(来自其
这个问题在这里已经有了答案: What is the best way to convert date from JavaScript string in format YYYYMMDD to Ja
我知道如何获得包含几个词的所有结果: SELECT * FROM `table` WHERE MATCH (`row`) AGAINST ('+word1 +word2' IN BOOLEAN MOD
你好,我有这个 html 代码: .container{ width: 450; height: 400; border:1px solid
我想知道是否有任何方法可以使用相同的 CSS 过渡实例来将其向前移动然后向后/向后移动。例如,假设我有这种转变: @-webkit-keyframes fade-transition { fr
假设我有这些字符串: char ref[30] = "1234567891234567891"; char oth[30] = "1234567891234567891"; 我想在 C++ 中使用 S
所以我有这段代码,它使 xcode 崩溃 void strrev(const std::string& str) { for(size_t i=str.length();i>=0;i--)
我正在使用下面的代码使每张图片 1 对 1 淡入淡出。我怎样才能反向执行此操作以使图片以相反的顺序加载? img {display:none;} $('img').each(function(
我正在尝试弄清楚如何改变 FrameLayout 堆叠其子项的方式。 目前它是最新的(先进先出)。我想更改它,使最新的 child 位于底部(FILO)。我试着查看 FrameLayout 的源代码,
我是一名优秀的程序员,十分优秀!