Exemple #1
0
    /**
     * Asks the MapQuest API to generate the map-image url.
     *
     * @return
     */
    public URL getTileUrl() {
      try {
        int scale = (int) MQSource.scaleList[zoomLevel.getZoomLevel()];

        // the map is generated by the center coordinate
        double lon = getCenterLon(scale);
        double lat = getCenterLat(scale);

        MQAPIWrapper apiWrapper = mqSource.getApiWrapper();

        String mapImageUrl =
            apiWrapper.getUrl(scale, lon, lat, MQSource.TILESIZE_WIDTH, MQSource.TILESIZE_HEIGHT);

        return new URL(null, mapImageUrl, CorePlugin.RELAXED_HANDLER);

      } catch (Exception e) {
        WMTPlugin.log(
            "[MQTile] Could not create the url for tile (Zoom: "
                + zoomLevel.getZoomLevel()
                + //$NON-NLS-1$
                ", X: "
                + getX()
                + ", "
                + getY(),
            e); //$NON-NLS-1$ //$NON-NLS-2$
      }

      return null;
    }
  // region Build geo-resources list for service
  public void buildGeoResources(WMTService service, List<IGeoResource> geoResources)
      throws Exception {
    geoResources.clear();

    try {
      List<?> tiledGroups = tiledPatterns.getChildren("TiledGroup"); // $NON-NLS-1$

      buildGeoResourcesFromTiledGroups(service, geoResources, tiledGroups, ""); // $NON-NLS-1$
    } catch (Exception exc) {
      WMTPlugin.log("[NASASourceManager.buildGeoResources] Failed: ", exc); // $NON-NLS-1$
      throw exc;
    }
  }
  // region Build TreeItem for Wizard
  public void buildWizardTree(TreeItem treeItem) {
    NASAControl controlFactory = new NASAControl();
    try {
      List<?> tiledGroups = tiledPatterns.getChildren("TiledGroup"); // $NON-NLS-1$

      WMTService service = serviceExtension.createService(NASASource.class);
      List<IGeoResource> geoResources = service.emptyResourcesList(null);
      geoResources.clear();

      WMTWizardTreeItemData data = new WMTWizardTreeItemData(service, controlFactory);
      treeItem.setData(data);

      buildWizardTreeFromTiledGroups(
          service, geoResources, treeItem, tiledGroups, "", controlFactory); // $NON-NLS-1$
    } catch (Exception exc) {
      WMTPlugin.log("[NASASourceManager.buildWizardTree] Failed: ", exc); // $NON-NLS-1$
    }
  }
  private NASASourceManager() {
    serviceExtension = new WMTServiceExtension();

    try {
      // open file
      URL url = NASASource.class.getResource(TILESERVICE_FILE);

      SAXBuilder builder = new SAXBuilder(false);
      URLConnection connection = url.openConnection();
      Document dom = builder.build(connection.getInputStream());

      Element root = dom.getRootElement();
      tiledPatterns = root.getChild("TiledPatterns"); // $NON-NLS-1$

    } catch (Exception exc) {
      WMTPlugin.log(
          "[NASASourceManager] Loading tileservice-file failed: " + TILESERVICE_FILE,
          exc); //$NON-NLS-1$
      tiledPatterns = null;
    }
  }