Skip to Content
Swift游戏开发经典实例
book

Swift游戏开发经典实例

by Jonathon Manning, Paris Buttfield-Addison
January 2020
Intermediate to advanced
356 pages
6h 4m
Chinese
China Electric Power Press Ltd.
Content preview from Swift游戏开发经典实例
118
3
locationManager.stopMonitoring (for: regionToMonitor)
最后我们需要讨论一下区域的精确性。越新的设备精度就越好,也就是说对于比
iPhone4S
更老的设备,我们最好不要创建小于
400
米半径的区域。此外,当用户
进入或退出一个区域时,从设备发出通知到你的
App
收到通知之前会有一个
3~5
分钟的延迟。如果区域的半径太小,那么当你的
App
收到通知的时候,很可能用
户早就离开这个区域了。为了周期性地收到区域通知,区域监听服务需要连接网络。
3.15
通过地名获得坐标
问题
你拥有一个街道地址,但是想知道它的坐标。例如,我们有一个游戏需要玩家从一
个地方到另一个地方,我们就需要知道这些地方的坐标,这样才能知道他们什么时
候到达。
解决方案
iOS
内置有将坐标转换为地名或反过来的系统。地理编码服务能够将一个人类可读
的地址(如“加利福尼亚州丘珀蒂诺无限圈
1
号”,即苹果总部)转换为经纬度。
这样我们就将这个坐标用于定位系统中。
首先,导入
CoreLocation
框架(见本章
3.9
节)。
然后创建一个
CLGeocoder
实例:
var geocoder = CLGeocoder()
当你想将一个地址转换成坐标时,就调用
geocodeAddressString
方法:
let addressString = self.addressTextView.text ?? "" //
取得
//
地名
geocoder.geocodeAddressString(addressString) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

精通機器學習

精通機器學習

Aurélien Géron
FreeBSD® Unleashed

FreeBSD® Unleashed

Brian Tiemann, Michael C. Urban
深入淺出代數

深入淺出代數

Tracey Pilone, Dan Pilone
Swift学习手册

Swift学习手册

Jon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787519840129