การใช้งาน Event Handler ต่างๆ
SDK จะมีส่งสัญญาณเมื่อมีการกระทำต่างๆ เกิดขึ้นกับแผนที่ผ่านทาง callback ที่นักพัฒนาส่งให้ SDK ตัวอย่างการกระทำเช่น แผนที่ถูกเลื่อน, การคลิกบนแผนที่ หรือ การซูมเข้าและออก
การขยับแผนที่
ldmap.setStatusListener(new IStatusListener() {
@Override
public void onScale(float scale) {
}
@Override
public void onMapStatusUpdated(MapLocation location, int zoomLevel, float scale, String action, boolean isUserAction) {
}
});
ตัวแปร isUserAction
ที่ส่งมากับ callback เป็น boolean ที่ใช้บอกว่า แผนที่ขยับเนื่องจากผู้ใช้ลากแผนที่เอง หรือแผนที่ขยับด้วยวิธีอื่นๆ เช่น การใช้คำสั่ง Map.location()
การซูมแผนที่
ldmap.setZoomListener(new IZoomListener() {
@Override
public void preZoom(int zoomLevel) {
}
@Override
public void postZoom(int zoomLevel) {
}
@Override
public void finishZoomAnimation(int newZoomLevel) {
}
});
การคลิก ดับเบิ้ลคลิกและกดค้างบนแผนที่
ldmap.setClickListener(new IClickListener() {
@Override
public void onClick(MapLocation location, int action) {
}
@Override
public void onDoubleClick(MapLocation location, int action) {
}
@Override
public void onLongClick(Bundle data) {
}
});
เมื่อได้รับตำแหน่งปัจจุบันจาก SDK
ldmap.addLocationListener(new ILocationListener() {
@Override
public void onGetCurrentLocation(MapLocation currentLocation, Location location) {
}
});
เมื่อมีการคลิก ดับเบิ้ลคลิกหรือกดค้างที่หมุดที่เกิดจาก Tag
ldmap.setTagListener(new IPinListener() {
@Override
public boolean onPinClick(Pin bestChosedPin, Pin[] otherPin) {
return false;
}
@Override
public boolean onLongClickPin(Pin bestChosedPin, Pin[] otherPin) {
return false;
}
@Override
public boolean onPinDoubleClick(Pin bestChosedPin, Pin[] otherPin) {
return false;
}
});
การคำนวนขนาดของ cache และผลลัพธ์ของการ clear cache
ldmap.setCacheListener(new ICacheListener() {
@Override
public void onFinishClearCache(long executionTime) {
}
@Override
public void onFinishCheckCacheSize(long nByte) {
}
});
การหมุนแผนที่
ldmap.setRotateListener(new IRotateListener() {
@Override
public void onRotate(float azimuth) {
}
});
เมื่อได้รับข้อความ debug ต่างๆ จาก SDK
ldmap.setMessageListener(new IMessageListener() {
@Override
public void onMessage(String message) {
}
});