Blackberryリード蜂地図開発例:アドレス逆符号化

2346 ワード

アドレス逆符号化は経緯度により対応する地名を検索し、以下の例は経緯度118.77802、32.061699に対応する地名を検索した結果、「中国江蘇省南京市鼓楼区淵声巷41号」となった.
//--------------------------------- PACKAGE ------------------------------------ 
package com.pstreets.gisengine.demo.rim; 
  
//--------------------------------- IMPORTS ------------------------------------ 
import com.mapdigit.gis.MapPoint; 
import com.mapdigit.gis.geometry.GeoLatLng; 
import com.mapdigit.gis.raster.MapType; 
import com.mapdigit.gis.service.IReverseGeocodingListener; 
import com.pstreets.gisengine.demo.MapDemoRIM; 
import net.rim.device.api.ui.component.Menu; 
import net.rim.device.api.ui.MenuItem; 
  
//[------------------------------ MAIN CLASS ----------------------------------] 
public class MapReverseGeocodingRIM extends MapDemoRIM implements
 IReverseGeocodingListener   { 
  
    /** 
     * Entry point for application 
     * @param args Command line arguments (not used) 
     */ 
    public static void main(String[] args) 
    { 
        // Create a new instance of the application and make the currently 
        // running thread the application's event dispatch thread. 
        MapReverseGeocodingRIM theApp = new MapReverseGeocodingRIM();        
        theApp.enterEventDispatcher(); 
    } 
      
    private MenuItem mapFindAddressMenuItem = new MenuItem("Find Address", 0, 0){ 
        public void run(){ 
            map.getReverseLocations("32.061699,118.777802");  
        } 
    }; 
  
    public MapReverseGeocodingRIM() { 
  
        init(); 
        pushScreen(canvas); 
        map.setReverseGeocodingListener(this); 
       GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);         
        map.setCenter(center, 13, MapType.MICROSOFTCHINA);  
          
    } 
  
     
    public void done(String arg0, MapPoint[] result) { 
        if (result != null) { 
            map.panTo(result[0].getPoint()); 
        } 
    } 
      
    protected void createMenu(Menu menu, int instance){ 
         menu.add(mapFindAddressMenuItem); 
 } 
}

注意文字列の緯度フォーマットを使用すると、緯度が前、経度が後で、逆になると、返される地名は空になるか、外国に走ることができます.結果も配列であり、一般的に最初の結果まで、後の結果はより大きな領域または比較的遠い地名である.
Blackberry引路蜂地図開発パッケージVer 2.1ダウンロード