问题标签 [clplacemark]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 使用 CLLocation 和/或 Mapkit 从坐标中查找企业名称信息
我正在尝试使用使用 CLLocationManager 返回的坐标来查看它们是否与任何本地企业非常匹配 - 例如,如果我碰巧站在星巴克,我希望我的应用程序根据我的坐标建议我站着在星巴克。如果我在星巴克外 20 米处,但它是离我所站最近的地址,我希望它建议“星巴克”。
我可以返回 CLPlacemarks 没问题,但它们包含的信息不包含任何地方的公司名称。我在英国,例如,位于伦敦格洛斯特路的 Nando's 的地址是“170 Gloucester Road, London, SW7 4ST”。我可以在 CLPlacemark 信息中返回 170 Gloucester Road, London, SW7 4ST 没问题,但它没有提到 Nando's。
我在各种帖子中读到信息可能在名称属性、感兴趣的区域甚至格式化的地址属性中,但我在伦敦市中心的广泛测试表明,无论如何在英国并非如此。即使在美国,“Apple Inc”也仅在 1 Infinite Loop 之前的地址格式化地址属性中提及。
我尝试通过使用 CLLocation 获取用户的坐标然后将它们用作程序化 MapKit 搜索的基础来完成此操作 - 这只是再次返回地址,而不是公司名称。
还对 Apple Maps 应用程序进行了一些最终用户测试,否则我是该应用程序的忠实粉丝,如果通常在本地搜索例如“酒吧”、“餐厅”,它似乎返回相当不完整的结果。包括一些当地的地方,其他地方不包括在内,有时结果包含相当远的地方,即使我知道附近还有更多的餐馆。
我很快得出结论,实现我想要的唯一方法是使用 Google Places API,出于多种原因,我希望避免这种情况,尤其是我在 iOS 编程方面相当缺乏经验(顺便说一句,在 Swift 中......)
如果有人可以明确建议在 Mapkit 中无法本地执行此操作并且我需要使用 Google Places API,那么至少我知道,并且可以继续使用它 - 但如果有办法,我会最感谢知道它是什么...
提前致谢!
objective-c - 不在一个国家/地区时 ISOcountryCode 的值?CLLocation / CLPlacemark,
我正在使用 locationManager 和 CLPlacemark 来确定用户所在国家的 ISO 代码。效果很好。
但是我不确定如果用户不在一个国家/地区的价值是多少?
例如,如果用户在夏威夷和大溪地之间的游轮上,那么 CLPlacemark 的 ISOcountryCode 属性的值是多少?是零吗?还是有“未定义”或“国际空间”的价值?
dictionary - 获取指定地区/国家的注释(来自数据库)
我正在开发一个适用于用户添加的位置(地标)的 iOS 应用程序。用户添加的位置包含数据(如标题和描述)。我想让用户(管理员)访问更改发送位置的数据,但仅限于受限区域,如城市或国家。
我正在使用 Firebase 存储位置(因此我可以在 iOS 和 Android 上访问它们),但我不知道我必须将它们存储在哪个结构中。我首先认为我可以根据用户发送的 CLPlacemark country 属性存储位置(例如,如果我向 Firebase 发送了 placemark.country 等于“挪威”的位置,则该位置将被添加到数组中”挪威”位于名为“locations”的主数组中)。
但是 MapKit 响应语言基于设备语言,因此如果设备语言是挪威语,则地标的国家/地区将是“Norge”而不是“Norway”,并且不会保存到“norway”-array。因此,我无法验证管理员是否有权访问特定国家,因为这些位置可以保存为“norway”或“norge”或其他语言的国家名称。
如果我无法在 Firebase 中对位置进行排序,如何让管理员有权更改某些国家/城市的数据?
有没有办法用英文检查国家名称和城市名称,然后根据英文名称将它们添加到 Firebase,还是我必须将所有位置存储在一个大数组中并在从 Firebase 加载它们时验证它们?
ios - 使用自定义值创建 CLPlacemark 以进行测试
我有一个可以移动CLPlacemark
对象并使用它们的应用程序,我想对与它们交互的几个组件进行单元测试。为此,我希望能够使用生成CLPlacemark
具有已知值的 mock s 的方法从 MapKit 中剔除对真正反向地理定位的调用。
CLPlacemark
只有一个初始化器(复制初始化器)。但在文档中,它说:
地标对象通常由 CLGeocoder 对象生成,尽管您也可以自己显式创建它们。
但是,大多数成员都是只读的,所以我不确定如何使用自定义值创建一个。是否可以在 Swift 中以这种方式设置内部属性?如果没有,关于它们在上述引文中的含义有什么想法吗?
ios - CLPlacemark 对象的 areaOfInterest 属性的准确性是多少?
我注意到,当反向地理编码位置(CLPlacemark 的纬度/经度)时,返回的地标具有 areaOfInterest 字符串数组属性。
该列表是否按最近/最准确的感兴趣区域排序?如果您要使用此属性,还应了解哪些其他细节?
ios - iOS 应用程序在尝试获取设备位置时崩溃 - 线程 1:EXC_BAD_ACCESS
我对 iOS 开发相当陌生,如果这个问题有一个我不知道的简单解决方法,我很抱歉。
所以我目前正在创建一个需要用户当前位置作为地址的应用程序。
所以在类头中我确保包含 CLLLocationManagerDelegate:
接下来我为位置管理器创建了一个实例变量:
我还创建了 CLLocationManagerDelegate 函数:
我还有一个函数 toString 定义为 CLPlacemark 的扩展:
当我运行我的代码时,最初似乎一切正常,这是控制台中的输出:
但是,最后它以 (lldb) 崩溃并显示错误 Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)
不太清楚为什么应用程序在打印地址后崩溃。
在此先感谢您的帮助!
ios - 比较字符串时的 CLPlacemark 本地化问题
我找到了这个答案,但我不确定这是最好的答案。所以我需要比较:
然后允许做一些事情。
但是当我使用不同于英语的本地化时,就不可能比较这些字符串。
我想强制本地化可以工作,但它确实是一个危险的解决方案,因为我们只需要在一个地方强制它,它会影响所有应用程序设置,并可能导致在其他地方出现你甚至无法预料的错误。
ios - 如何在 CLLocationManager 中强制默认语言为英语?
所以,我是 swift 的新手,我将当前的经纬度转换为城市名称和国家,它工作得很好:
但是当设备设置为其他语言时,例如俄语,它会以俄语字符返回城市名称和国家,但我需要它只是英文,请任何人有一些想法或建议?谢谢!
swift - 像Apple Weather应用程序一样的按键位置查找
我想执行像 Apple Weather 应用程序这样的位置查找,该应用程序显示每次击键时的潜在位置表。每次在文本字段中发生“编辑更改”事件时,我都会将用户的输入字符串发送到下面的函数。该字符串似乎已正确发送,但我没有得到预期的地标数组。例如“Chestnut”只返回“Chestnut, IL”,但如果我输入“Chestnut Hi”,我会得到四个元素:“Marshfield, MA”、“Wilbraham, MA”、“South Hadley, MA”和“Greenfield, MA” ”。然后键入“Chesnut Hil”会返回“Brookline, MA”,它甚至不在“Chestnut Hi”列表中。代码如下。非常感谢!
java - 在 Android 中向地图添加标记
我有一个从输入流形成的 KML 层,如下所示:
我想遍历这一层中的每个标记,并检查它是否在我当前位置的一定距离内,只有在它是时才显示它。
这是我目前用来获取标记的纬度/经度的代码。
我想要做的是在 ArrayList 中添加每个标记的信息,如果它们在用户的一定距离内,然后将标记添加到地图上。