Bing Maps SDK для Blackberry 6.0 - PullRequest
       21

Bing Maps SDK для Blackberry 6.0

3 голосов
/ 02 апреля 2012

Мне нужно использовать карты Bing в разрабатываемом приложении для Blackberry OS 6.0.Но не смог найти ни одного доступного фреймворка или SDK.Пожалуйста, помогите мне с использованием Bing или Google Maps SDK на BlackBerry.Пожалуйста, предоставьте ссылки, откуда я могу получить SDK.Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

Проверка Nutiteq RIM BlackBerry Mapping SDK .

Вы можете получить содержимое карты с Bing Maps, Yahoo!Карты, OpenStreetMap и многое другое.Чтобы начать работу с кодированием, пройдите учебник по SDK для Nutiteq BlackBerry .

3 голосов
/ 03 апреля 2012

Вот пример использования Google Maps , не знаю, как использовать карты Bing.

Сначала установите Google Maps на свое устройство / симулятор с номера http://m.google.com/maps/, перейдя по этой ссылке в браузере устройства / симулятора.
Затем вы можете вызвать приложение Google Maps из вашего приложения. Вот пример кода:

package mypackage;

import net.rim.blackberry.api.browser.URLEncodedPostData;
import net.rim.device.api.system.ApplicationDescriptor;
import net.rim.device.api.system.ApplicationManager;
import net.rim.device.api.system.ApplicationManagerException;
import net.rim.device.api.system.CodeModuleManager;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.VerticalFieldManager;

/**
 * A class extending the MainScreen class, which provides default standard
 * behavior for BlackBerry GUI applications.
 */
public final class MyScreen extends MainScreen
{
    /**
     * Creates a new MyScreen object
     */
    public MyScreen()
    {        
        // Set the displayed title of the screen       
        setTitle("Google Maps");

        VerticalFieldManager mainManager = new VerticalFieldManager(USE_ALL_HEIGHT | USE_ALL_WIDTH);

        final BasicEditField latitudeInputField = new BasicEditField("Latitude:" , "23.717782");
        final BasicEditField longitudeInputField = new BasicEditField("Longitude:" , "90.407124");
        final BasicEditField titleInputField = new BasicEditField("Title:" , "Dhaka, Bangladesh");
        final BasicEditField descriptionInputField = new BasicEditField("Description:" , "Capital City of Bangladesh");

        ButtonField btn_ShowMap = new ButtonField("Show On Map");
        btn_ShowMap.setChangeListener(new FieldChangeListener() {

            public void fieldChanged(Field field, int context) {
                double lat = Double.parseDouble( latitudeInputField.getText() );
                double lon = Double.parseDouble( longitudeInputField.getText() );
                String title = titleInputField.getText();
                String description = descriptionInputField.getText();
                showGoogleMap(lat, lon, title, description);
            }
        });

        mainManager.add(latitudeInputField);
        mainManager.add(longitudeInputField);
        mainManager.add(titleInputField);
        mainManager.add(descriptionInputField);
        mainManager.add(btn_ShowMap);

        add(mainManager);

    }

    /**
     * Starts the Google Maps application and the specified locatin is shown on map
     * @param latitude the latitude of the location to show
     * @param longitude the longitude of the location to show
     * @param title the title of the location to show
     * @param description the description of the location to show
     */
    public void showGoogleMap(double latitude, double longitude, String title,  String description) {
        try {
            int mh = CodeModuleManager.getModuleHandle("GoogleMaps");
            if (mh == 0) {
                 throw new ApplicationManagerException("GoogleMaps isn't installed");
            }
            URLEncodedPostData uepd = new URLEncodedPostData(null, false);
            uepd.append("action","LOCN");
            uepd.append("a", "@latlon:"+latitude+","+longitude);
            uepd.append("title", title);
            uepd.append("description", description);
            String[] args = { "http://gmm/x?"+uepd.toString() };
            ApplicationDescriptor ad = CodeModuleManager.getApplicationDescriptors(mh)[0];
            ApplicationDescriptor ad2 = new ApplicationDescriptor(ad, args);
            ApplicationManager.getApplicationManager().runApplication(ad2, true);
        } catch(final Exception excp) {
            Dialog.alert("Sorry, can't start Google Map: " + excp.getMessage());
        }
    }
}

Вот как это должно выглядеть:

Home Screen Google Maps

Я тестировал только на симуляторе 9800 (ОС 6)

Я ПОЛУЧИЛ ИДЕЮ ЗДЕСЬ

...