문제

이것은 방금 BB 개발을 시작한 사람의 질문에 대한 게시물입니다. 모든 지침은 대단히 감사합니다.

Yelp 및 Google Map과 같은 Map 기반 BlackBerry 앱은 어떻게 구현됩니까? 웹 기반 버전과 마찬가지로. BB 용 Yelp를 사용하면 현재 또는 지정된 위치를 기반으로 레스토랑 등을 검색 할 수 있습니다. 검색 결과는 검색 결과의 마커를 표시하는 목록 또는 맵보기 형태입니다. Yelp의지도는 Bing에 의해 구동됩니다. 마커와 함께 맵은 BB 코드 내에서 어떻게 호출됩니까? 목록보기의 경우 데이터베이스에서 결과 목록을 검색하는 데 사용되는 내용입니다. 데이터베이스를 사용할 수 있습니까?

BB의 경우 Google Map 3.2는 이제 레이어를 지원합니다. 다시, Google지도는 어떻게 호출됩니까? 또한지도에서 특정 위치의 마커 (예 : Wiki, 주유소)를 선택하고 해당 위치의 정보 (예 : Wiki, 주유소 주소)를 볼 수도 있습니다. 이 작업은 어떻게 이루어지고 있습니까?

BB 개발뿐만 아니라 MAP 기술에 대한 지식은 매우 제한적이므로 기본 또는 심층 피드백이 모두 환영됩니다.

도움이 되었습니까?

해결책

BlackBerry에 대한 실제 GPS 응용 프로그램을 작성한 경험이 없습니다. 아래는 가능한 해결 방법에 대한 관찰과 생각입니다.

Blackberry Yelp 응용 프로그램

실제로 BlackBerry Yelp 응용 프로그램 표시 맵을 검색 한 다음 결과로 이동하여지도 주점을 참조하십시오.

Alt Text http://img197.imageshack.us/img197/965/13428830.jpg대체 텍스트 http://img269.imageshack.us/img269/1976/92068364.jpg

또한보십시오 Yelp는 Bing-Powered Blackberry 앱을 출시합니다

당신이 조사한다면 Yelp API 검색 기능 만 찾을 수 있습니다 선택적으로 Google지도를 사용합니다 검색 결과 위치를 표시합니다 귀하의 웹 사이트에서.

Bing은 Google지도의 MS 아날로그 인 것 같습니다. 그리고 ASP가 있습니다 빙 맵 제어 BB 개발에 거의 사용될 수 없습니다.

BlackBerry Google Maps 애플리케이션

Alt Text http://img193.imageshack.us/img193/9678/39917026.jpg

당신은 호출 할 수 있습니다 Google Maps Mobile을 설치했습니다 코드에서 :

class Scr extends MainScreen {
 public Scr() {    
 }    
 protected void makeMenu(Menu menu, int instance) {
  super.makeMenu(menu, instance);
  menu.add(mInvokeGMaps);
 }    
 MenuItem mInvokeGMaps = new MenuItem("Run GMaps", 0, 0) {
  public void run() {
   GMLocation location 
    = new GMLocation(51.507778, -0.128056, "London");
   invokeGMaps(location);
  };
 };    
 public void invokeGMaps(GMLocation l) {
  int mh = CodeModuleManager.getModuleHandle("GoogleMaps");
  if (mh == 0) {
   try {
    throw new ApplicationManagerException(
      "GoogleMaps isn't installed");
   } catch (ApplicationManagerException e) {
    System.out.println(e.getMessage());
   }
  }
  URLEncodedPostData uepd = new URLEncodedPostData(null, false);
  uepd.append("action", "LOCN");
  uepd.append("a", "@latlon:" + l.getLatitude() 
   + "," + l.getLongitude());
  uepd.append("title", l.getName());
  uepd.append("description", l.getDescription());
  String[] args = { "http://gmm/x?" + uepd.toString() };
  ApplicationDescriptor ad = CodeModuleManager
    .getApplicationDescriptors(mh)[0];
  ApplicationDescriptor ad2 = new ApplicationDescriptor(ad, args);
  try {
   ApplicationManager.getApplicationManager()
     .runApplication(ad2, true);
  } catch (ApplicationManagerException e) {
   System.out.println(e.getMessage());
  }
 }
}

사용자 정의 위치 클래스 사용 :

class GMLocation {    
 String mName;
 String mDescription;
 double mLatitude;
 double mLongitude;
 public GMLocation(double lat, double lon) {
  mLatitude = lat;
  mLongitude = lon;
 }    
 public GMLocation(double d, double e, String name) {
  this(d, e);
  mName = name;
 }    
 public GMLocation(double lat, double lon, String name, String descr) {
  this(lat, lon, name);
  mDescription = descr;
 }    
 public String getName() {
  return mName;
 }    
 public String getDescription() {
  return mDescription;
 }    
 public String getLongitude() {
  return String.valueOf(mLongitude);
 }    
 public String getLatitude() {
  return String.valueOf(mLatitude);
 }
}

또한보십시오 BlackBerry 응용 프로그램에서 Google지도를 사용하는 방법은 무엇입니까?

결론

BlackBerry Browser와 Browserfield는 JavaScript를 제한적으로 지원합니다. Bing과 Gmaps는 모두 JavaScript를 기반으로하기 때문에 서버에서 검색된 정적 이미지를 표시 맵 제어로 사용한다는 의심입니다. 이는 가능할 수 있지만 이는 서버 측 구현과 필요한 모든 API 개발자 키를 의미합니다.

대안으로 BlackBerry의 코드에서 설치된 GMAPS를 호출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top