在应用程序中显示地图,对用户更好
Showing a map in an app, better for the user
我有一个用 Swift 编写的 iOS 应用程序,我在其中使用地图向用户显示一些商店的位置。点击按钮时,会显示当前商店的地图。
它已经可以工作了,但由于我并不完全满意,所以我决定写这篇文章post,希望能得到一些改进的建议。
首先,这是应用程序中的相关代码。
import UIKit
import WebKit
class Shop_ViewController: UIViewController {
......
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
......
let webConfig = WKWebViewConfiguration()
webView = WKWebView(frame: view.bounds, configuration: webConfig)
webView.isHidden = true
view.addSubview(webView)
}
......
@objc func showMapForShop() {
// This function fires, when the appropriate button is tapped.
var urlStr = "https://maps.google.com/maps"
urlStr += "?q=\(shopObject.gPS!)"
urlStr += "&iwloc=A&hl=\(NSLocale.preferredLanguages[0])"
let webReq = URLRequest(url: URL(string: urlStr)!)
webView.load(webReq)
view.bringSubviewToFront(webView)
webView.isHidden = false
}
其次,这是地图显示的屏幕截图。
因此,如上所述,它有效。但是(首先)图像的顶部和底部(在侧面标记为灰色)丢失了 space。事实上,99.9% 的用户不会关心地点的坐标,如果有更多 space 的人看到地图,他们会更开心。当然要保留图片上的红色标记,以显示重要位置。
我已经通过阅读网络将其放在一起,并且还阅读了有关 WKUIDelegate 和 WKNavigationDelegate 协议的信息。但正如大家所见,我暂时没有使用它们。最后一道题是:
有更好的方法吗?并获得更高的用户满意度?
有关信息,我正在使用 Xcode 11.3.1.
问题是,您没有使用地图。您正在使用网站 Google 地图。因此该网站完全负责显示的内容。
所以用地图。使用地图视图 (MKMapView) 而不是 Web 视图。现在您可以完全控制屏幕,地图的走向、显示的区域、注释(您的"red mark")、屏幕上的其他内容等等。
我有一个用 Swift 编写的 iOS 应用程序,我在其中使用地图向用户显示一些商店的位置。点击按钮时,会显示当前商店的地图。
它已经可以工作了,但由于我并不完全满意,所以我决定写这篇文章post,希望能得到一些改进的建议。
首先,这是应用程序中的相关代码。
import UIKit
import WebKit
class Shop_ViewController: UIViewController {
......
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
......
let webConfig = WKWebViewConfiguration()
webView = WKWebView(frame: view.bounds, configuration: webConfig)
webView.isHidden = true
view.addSubview(webView)
}
......
@objc func showMapForShop() {
// This function fires, when the appropriate button is tapped.
var urlStr = "https://maps.google.com/maps"
urlStr += "?q=\(shopObject.gPS!)"
urlStr += "&iwloc=A&hl=\(NSLocale.preferredLanguages[0])"
let webReq = URLRequest(url: URL(string: urlStr)!)
webView.load(webReq)
view.bringSubviewToFront(webView)
webView.isHidden = false
}
其次,这是地图显示的屏幕截图。
因此,如上所述,它有效。但是(首先)图像的顶部和底部(在侧面标记为灰色)丢失了 space。事实上,99.9% 的用户不会关心地点的坐标,如果有更多 space 的人看到地图,他们会更开心。当然要保留图片上的红色标记,以显示重要位置。
我已经通过阅读网络将其放在一起,并且还阅读了有关 WKUIDelegate 和 WKNavigationDelegate 协议的信息。但正如大家所见,我暂时没有使用它们。最后一道题是:
有更好的方法吗?并获得更高的用户满意度?
有关信息,我正在使用 Xcode 11.3.1.
问题是,您没有使用地图。您正在使用网站 Google 地图。因此该网站完全负责显示的内容。
所以用地图。使用地图视图 (MKMapView) 而不是 Web 视图。现在您可以完全控制屏幕,地图的走向、显示的区域、注释(您的"red mark")、屏幕上的其他内容等等。