دليل ترحيل خرائط Azure iOS SDK

يتضمن الترحيل من خرائط Azure iOS SDK إلى Web SDK في WebView نقل طريقة عرض الخريطة الحالية من تطبيق أصلي إلى خريطة مستندة إلى الويب باستخدام خرائط Azure Web SDK. يوضح لك هذا الدليل كيفية ترحيل التعليمات البرمجية والميزات من iOS SDK إلى Web SDK.

إشعار

خرائط Azure إيقاف iOS SDK

تم الآن إهمال خرائط Azure Native SDK لنظام التشغيل iOS وسيتم إيقافه في 3/31/25. لتجنب انقطاع الخدمة، قم بالترحيل إلى خرائط Azure Web SDK بحلول 3/31/25.

المتطلبات الأساسية

لاستخدام عنصر التحكم بالخريطة في صفحة الويب، يجب أن يكون لديك أحد المتطلبات الأساسية التالية:

إنشاء WebView

أضف WebView إذا لم يكن تطبيق iOS الخاص بك يحتوي على تطبيق. قم بذلك عن طريق إضافة WKWebView إلى لوحة العمل الخاصة بك أو برمجيا في رمز Swift الخاص بك. تأكد من تكوينه ليشغل المنطقة المطلوبة من التخطيط الخاص بك.

import UIKit
import WebKit

class ViewController: UIViewController, WKNavigationDelegate {

    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Create WKWebView instance
        webView = WKWebView(frame: view.bounds)
        webView.navigationDelegate = self
        view.addSubview(webView)

        // Load local HTML file
        loadLocalHTMLFile()
    }

    func loadLocalHTMLFile() {
        if let htmlPath = Bundle.main.path(forResource: "map", ofType: "html") {
            do {
                let htmlString = try String(contentsOfFile: htmlPath, encoding: .utf8)
                webView.loadHTMLString(htmlString, baseURL: Bundle.main.bundleURL)
            } catch {
                print("Error loading HTML file: \(error)")
            }
        } else {
            print("HTML file not found.")
        }
    }
}

إعداد خريطة باستخدام خرائط Azure Web SDK

في ملف HTML، قم بتهيئة خريطة باستخدام مفتاح الاشتراك الخاص بك. استبدل <YOUR_SUBSCRIPTION_KEY> بالمفتاح الفعلي.

<!DOCTYPE html>
<html>
   <head>
       <title>Azure Maps</title>
       <meta charset="utf-8" />
       <meta name="viewport" content="width=device-width, initial-scale=1" />
       <!-- Add references to the Azure Maps Map control JavaScript and CSS files. -->
       <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css"/>
       <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.js"></script>
       <style>
           html,
           body,
           #map {
               margin: 0;
               height: 100%;
               width: 100%;
           }
           body {
               display: flex;
               flex-direction: column;
           }
           main {
               flex: 1 1 auto;
           }
       </style>
       <script type="text/javascript">
           // Create an instance of the map control.
           function InitMap() {
               var map = new atlas.Map("map", {
                   center: [-122.33, 47.6],
                   zoom: 12,
                   authOptions: {
                       authType: "subscriptionKey",
                       subscriptionKey: "<YOUR_SUBSCRIPTION_KEY>"
                   }
               });

               // Wait until the map resources are ready.
               map.events.add("ready", function () {
                   // Resize the map to fill the container.
                   map.resize();
               });
           }
       </script>
   </head>
   <body onload="InitMap()">
       <main>
           <div id="map"></div>
       </main>
   </body>
</html>

حفظ التطبيق وتشغيله. يجب عرض خريطة داخل WebView. أضف أي ميزات أو وظائف تريد استخدامها من Web SDK. يمكنك الرجوع إلى وثائق خرائط Azure وعينات خرائط Azure لمزيد من حالات الاستخدام.

لقطة شاشة لخريطة في WebView.

الاتصال بين التعليمات البرمجية الأصلية وWebView (اختياري)

لتمكين الاتصال بين تطبيق iOS الخاص بك وWebView، يمكنك استخدام WKScriptMessageHandler البروتوكول الذي توفره WKWebView الفئة. يسمح لك بإنشاء جسر للاتصال بين JavaScript الذي يعمل في WebView ورمز Swift الخاص بك. لمزيد من المعلومات، راجع WKScriptMessageHandler في وثائق iOS WebKit.

تنظيف تنفيذ الخريطة الأصلية

قم بإزالة التعليمات البرمجية المتعلقة خرائط Azure iOS SDK الأصلية من مشروعك، بما في ذلك التبعيات ورمز التهيئة المتعلق ب azure-maps-ios-sdk-distribution.

الاختبار

اختبر تطبيقك بدقة للتأكد من نجاح الترحيل. تحقق من المشكلات المتعلقة بوظائف الخريطة وتفاعلات المستخدم والأداء.

الخطوات التالية

تعرف على كيفية إضافة خرائط إلى تطبيقات الويب والأجهزة المحمولة باستخدام مكتبة JavaScript من جانب العميل ل Map Control في خرائط Azure: