The image is captured from firefox using one of its features: when the environment variable MOZ_FORCE_PAINT_AFTER_ONLOAD is set, it causes firefox to dump, as PPM files, the contents of all the pages loaded. The value of the variable is used to locate where the files are dumped.
As the image served by Yahoo is bigger than the one requested, it is cropped and resized to the desired size.
Currently, there is no way of knowing whether a zone has imagery or not. If not, the Yahoo message "We're sorry, the data you have requested is not available. Please zoom out to see more map information or refresh your browser to try again".
Also, as firefox must be started and killed once and again, it is recommended to create a profile with the option "browser.sessionstore.resume_from_crash" to false and set other profile to default, so no nag screens are shown. </lu>
Public Member Functions
|ImageLoader (String wmsUrl) throws ImageLoaderException|
|void||save (String fileName)|
Static Public Attributes
|static final String||GECKO_DEBUG_LINE = "GECKO: PAINT FORCED AFTER ONLOAD:"|
|int||final_height = -1|
|int||final_width = -1|
|List< String >||firefoxFiles = new ArrayList<String>()|
|int||height = -1|
|double||orig_bbox = null|
|int||width = -1|
Private Member Functions
|double||getBbox (String line) throws ImageLoaderException|
|void||load () throws ImageLoaderException|
Static Private Attributes
|static final Pattern||BBOX_RE = Pattern.compile("bbox=([+-]?\\d+\\.\\d+),([+-]?\\d+\\.\\d+),([+-]?\\d+\\.\\d+),([+-]?\\d+\\.\\d+)", Pattern.CASE_INSENSITIVE)|