У меня есть приложение iOS, написанное на Swift, где я использую карту, чтобы показать местоположение некоторых магазинов пользователю. При нажатии кнопки отображается карта текущего магазина.
Она уже работает, но, поскольку я не полностью удовлетворена, я решила написать этот пост, чтобы получить совет по улучшению.
Во-первых, вот соответствующий код в приложении.
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
}
Во-вторых, вот скриншот того, как выглядит отображение карты.
Итак, как уже упоминалось выше, это работает. Но (для начала) верхняя и нижняя часть изображения (отмечены серым цветом сбоку) теряют место. Действительно, 99,9% пользователей не будут заботиться о координатах точки и были бы намного счастливее, имея больше места для просмотра карты. Конечно, красная метка на картинке должна быть сохранена, чтобы показать важное местоположение.
Я собрал это вместе, прочитав net, и я также прочитал о протоколах WKUIDelegate и WKNavigationDelegate. Но пока я вижу, что я ими не пользуюсь. Последний вопрос:
Есть ли лучший способ сделать это? И получить больше удовлетворенности пользователей?
Для информации, я использую Xcode 11.3.1.