เริ่มต้นใช้งาน

Longdo Map SDK ช่วยให้นักพัฒนาสามารถนำแผนที่ Longdo Map ไปแสดงในแอพลินเคชั่น Android โดยเขียนโค้ดเพียงไม่กี่บรรทัดเท่านั้น SDK รองรับภาพแผนที่รูปแบบ WMS, WMTS, WMTS_REST, TMS และแบบกำหนดเอง (custom URL) รวมถึง แสดงภาพแผนที่จาก Longdo Box และ ArcGIS Server

การใช้งานเบื้องต้น

  1. สร้าง Android projcet บน Android Studio
  2. แก้ไขไฟล์ build.gradle ของโมดูล app โดยเพิ่ม maven repository ของ Longdo เข้าไป

     repositories {
         ... // other repositories
    
         maven { url 'http://maven.longdo.com/artifactory/libs-release-public' }
     }
  3. แก้ไขไฟล์เดิม โดยเพิ่ม dependency ของ Longdo Map SDK

     dependencies {
         ... // other dependencies
    
         implementation 'com.longdo.map:sdk:1.0.0'
     }
  4. สร้าง Longdo Map API key (ถ้ายังไม่มี) วิธีสร้าง
  5. แก้ไขไฟล์ AndroidMenifest.xml เพื่อขอ permission ให้ SDK โดยเพิ่มโค้ดด้านล่างนี้ไว้ในแท็ก manifest

     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.VIBRATE" />

    เพิ่มแท็ก meta ภายในแท็ก application โดนแทนที่ข้อความ YOUR_API_KEY ด้วย API Key จากข้อ 4

     <application ... >
    
         <meta-data
             android:name="longdo.map.key"
             android:value="YOUR_API_KEY" />
    
         ...
  6. เพิ่ม View ของแผนที่ในไฟล์ layout ที่ต้องการ เช่น ในไฟล์ app/res/layout/activity_main.xml

     <com.longdo.api.MapGLSurfaceView
         android:id="@+id/my_map"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
  7. กด Run แอพพลิเคชั่น

เพียงเท่านี้นักพัฒนาก็สามารถนำแผนที่ไปวางในแอพพลิเคชั่นได้แล้ว!

การควบคุมแผนที่เบื้องต้น

ขั้นตอนด้านบนทั้งหมด ทำให้แอพพลิเคชั่นสามารถแสดงแผนที่ได้ แต่แอพพลิเคชั่นยังไม่สามารถสั่งงานแผนที่ได้ เพื่อที่จะสั่งงานแผนที่ เช่น การขยับ การเพิ่ม layer หรือการปักหมุด นักพัฒนาจำเป็นต้องเก็บตัวแปร 1 ตัวที่ได้จาก SDK เพื่อเอาไว้ใช้สั่งงานแผนที่ โดย

  1. สร้างตัวแปรชี้ไปที่ View ของแผนที่ โดยแก้ไขไฟล์ Activity ที่มีแผนที่อยู่

     public class MainActivity extends AppCompatActivity {
    
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
    
             MapGLSurfaceView mapGLSurfaceView = findViewById(R.id.my_map);
         }
    
     }
  2. สร้าง Listener เพื่อให้ SDK เรียกเมื่อแผนที่พร้อมใช้งานแล้ว โดย SDK จะส่งตัวแปร Map มาด้วย เพื่อให้แอพพลิเคชั่นใช้ควบคุมแผนที่ต่อไป

     public class MainActivity extends AppCompatActivity {
    
         private Map ldmap; // for controlling a map
    
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
    
             MapGLSurfaceView mapGLSurfaceView = findViewById(R.id.my_map);
             mapGLSurfaceView.setListener(new IMapListener() {
                 @Override
                 public void onMapCreated(Map map) {
                     ldmap = map;
                 }
             });
         }
    
     }
  3. แอพพลิเคชั่นสามารถใช้ตัวแปร ldmap เพื่อสั่งงานแผนที่ ตัวอย่างเช่น

     ldmap.setZoom(14); // zoom to level 14
     ldmap.setLocation(new MapLocation(13,100)); // move a map to a specific location
  4. สำหรับ Android เวอร์ชั่น 6.0 ขึ้นไป SDK จะขอ permission ที่จำเป็นในขณะ runtime (เช่น เขียนอ่านไฟล์ในเครื่อง และ ขอตำแหน่งปัจจุบัน) และเพื่อให้ SDK รู้ว่าแอพพลิเคชั่นได้รับ permission หรือยัง ให้เพิ่มโค้ดด้านล่างนี้ใน Activity ด้วย

    @Override
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
         ldmap.onRequestPermissionResult();
         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
     }
กลับหน้าหลัก