在应用程序中显示地图,对用户更好

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")、屏幕上的其他内容等等。