I want to create a zoomable draggable etc. map of a really big image, the functionality should be like google maps but the map itself comes from me (it will be a galaxy picture).
So I think I have to use this components:
Frontend: http://openlayers.org/
(Example)
Backend: http://sharpmap.codeplex.com/
And connect them with each other, so the frontend will call the backend to display tiles in the current zoomlevel of the map.
I'm new to that map building thing and just want to make sure to not going in the wrong direction, so does it makes sense? Anyone did that before? Or any better ideas?
EDIT
Sorry, forgot that: The user should not have to install any additional stuff and it should run on an Ipad too, so I'm not able to use silverlight, flash etc. Just good old plain JS :)
I had worked on similar requirement but development platform was Silverlight. I had used "DeepEarth" (extended deep zoom) with tiles hosted on the local server.
DeepEarth
DeepZoom
You can try using Bing Control and services which is a paid service. In trial version, you will get Bing logo in the background. Bing Services
Bing control or any such controls with tiling services are appropriate when you want real world map - cities/roads. If you just need to have a zoom in/out feature on an image you can use deepzoom.
I ended up with using openlayers.org for the frontend and building the backend by myself.
Related
I have no idea at all about the 3D Visualization ,and i want to create an application ,the application idea depends totally on the 3D structure .
I'll do my best to clarify my question to avoid considering it vague .
The main goal of my application is the (navigation) part in 3D environment .I want to upload maps of a specific area and the application allow to guide the user to its destination.(real time 3d rendering).
The application should work on kiosk ,smart phones and on web.(multiple platforms).
The following video clarify what i want to do exactly :
3D wayfinder
Now I want to know a start point to begin without reinventing the wheel,if there are some frameworks should i learn about first?
I'm a.net developer(asp.net) and i begin to learn CMS (Joomla),so it 'll be great to find APIs or frameworks near to this area to achieve my goal as soon as possible.
From requirements you specified, I would like to advice to look at Unity3D.
Unity3D will help to develop application which will work on almost all major platforms including kiosk, smart phones and on web.
You can develop using C# language which should be familiar to you.
There are number of projects which aims similar goal as rendering 3D map. There are "Google Maps for Unity" plugin and I can advise to look at Displaying Maps in Unity3D post.
Unity can be integrated to Joomla if necessary
Another option would be to build the front-end of the app using HTML5 and do the 3D using Three.js http://threejs.org/
Your back-end could serve up the map and navigation data to the front-end and you render everything in the browser or in your HTML5 smartphone app. If you need to update information in your visualization or load a new location dynamically, this can be done with a simple AJAX call and your callback would add the new info into your Three.js scene.
Forget about what others suggest you in regards to looking at 3D frameworks. Mapping and navigation is a complexity of it's own - 3D frameworks like unity will give you 3D. But they won't give you GIS. Depending on your requirements, you could check Micello for 2D mapping and Deep Map for mobile 3D mapping (http://www.deep-map.com/en). They also help you with creating the maps - which is something you should consider for beforementioned reasons.
You can use OpenCV library in C# for image processing and get help from HTML5 and AJAX .
Try X3DOM. Its a programming language that can be used in applications, web browsers, and much more. And the language is ALOT like HTML and JavaScript. In fact, you can use JavaScript and HTML to access the 3D space in X3DOM.
The website for this language is: x3dom.org
I need to zoom in and out of a picture, grab it and browse different parts of it as you would a map, and set pushpins as markers to remind me of locations I found interesting. Essentially I want to perform similar functionality that bing (or google) maps provides but on a picture I have. From this tutorial : http://www.microsoft.com/web/post/using-the-bing-maps-api
I have tried swapping the source to point to the picture on my local drive but that don't work. What would be a good language / approach to take/use in solving this issue? I was trying to do this in C# first but now need to do this for a web application, please advise; newbie to Web development btw...
I am not able to understand why are you trying to view Picture as Map; zooming, clicking, dragging. But however, try to use jQuery for this.
The API that you are using, would work for Bing Maps. Its their server API and I don't think you can use that for any other work. But you can still re-write it and compile it to work for you.
The basic code or what you can say, the basic events for it would be .click() .dblclick() then you can use jQuery Draggable. These would be the basics only.
However if you are working with image. You would definitely need some other tools that would be able to let you work with Images, try SilverLight.
You mentioned Google Maps, Bing Maps, I need to clarify they use huge amount of JavaScript. To check where click was made, what is its location, where to zoom in where to zoom out. If it was me, I would have first tried to learn jQuery and JavaScript. To learn what are events, how they are used, and how I can use them in my project.
jQuery zoom is nothing or should I say, there is no such thing as a Zoom for any object in jQuery API. But this is a great site that I just found right now I hope it would be a kick start for you jQuery Zoom jacklmoore.com. For this site, you might need some plugin from the person, link is provided on that page! Go an have a look. :)
Again: Try to learn the basics first. You never know when the very basic event is needed and you are trying to use the expert level one. I hope it helps! :) Comment for any question or any objection.
Cheers.
I'm currently developing a Windows Phone 7 app in which I would like to display a map with a layer of the road traffic.
First, I tried to display a Bing AJAX Map and a Google Map through the webBrowser control. If the map is displayed, the UX is just awful. In fact, the webBrowser control doesn't allow the user to navigate or zoom with his fingers. It captures all the manipulations and doesn't apply them on its content.
Then, I tried to use the Bing Maps control and override the Tile layer with another API like the Nokia one or the OpenStreetMap one (like explained on the Nokia wiki here and here). It works, but none of these API allows to display a traffic layer (or I can't find the way to do it).
Finally, I used the trick to use the Google Maps tiles with a traffic info layer. If it works, I'm pretty sure that this solution is not legal. Some apps on the Windows Phone Store display the Google Maps with a traffic layer, but if they don't use the Bing Map control and override the Tile layer, I don't know how they do...
Does someone know how to display a map with a traffic layer into a Windows Phone 7 app in a legal way ? Did I miss something ? Maybe there is a solution I don't know or I don't think about ?
I really hope that someone will be able to help me !
I want to use the Bing map WPF control and I'm wondering if it is possible to set our own "image source".
Basically I'd like to use the control to provide deep zoom functionality for various images that would be loaded by my application.
I know that it's possible with Google maps (as shown here: http://blog.mikecouturier.com/2011/07/create-zoomable-images-using-google.html#maps_code_tilesgen)
but I was wondering we can do something similar with Bing maps?
P.S.: I would prefer using Bing because Microsoft provides a native WPF control, something that Google doesn't.
In order to add a custom map (or image) tile provider you would have to implement a TileSource and override its GetUri method to provide the URI of an image tile.
See Adding Tile Overlays to the Map for the details. The code sample there is not that great, since some things they do in code could better be done in XAML, but it is a starting point.
Note however that even if you don't use Bing Maps content, using the WPF control forces you to use a Bing Maps API Key. The control authenticates your key at the Bing Maps service provider, which will require an internet connection. Hence your image display application won't run in an offline environment, or to be more precise, it will run but display an ugly error message in the center of the control area.
You certainly can and it's incredibly easy to do in Bing Maps. Microsoft has developed a tool called MapCruncher that cuts a supplied image into tiles with the structure expected by Bing Maps. This is really important because, although Bing Maps and Google share the same tile structure, Bing Maps uses something called a quadkey to define each tile (meaning, the z-x-y of the tile).
Note: it's also possible to load tiles made for Google Maps in Bing Maps. You just need to tweak the tile source.
Anyway, better shown than said.
Here's a really detailed tutorial by the Microsoft Research team on using MapCruncher:
http://research.microsoft.com/en-us/um/redmond/projects/mapcruncher/tutorial/version3.0docs/index.htm
I'd like to know what could be the best approach to develop a Windows desktop application that has a map navigability control - very similar to those in Google Maps and Live Maps, with drag and drop support and so on.
Initially, due to time restrictions, I was thinking about a WinForms solution - I think one future solution using WPF would be better, but I'd have to learn all that WPF stuff first.
With that in mind, what approach should I take to develop that? It could be a third part tool, or some simple implementation/algorithm that I could take some ideas from. To be honest, I'm kinda lost, so any idea would be helpful.
Thanks, have a great day
take a look at this codeplex project. Reviewing the Source and downloading the sample project should be a good start.
GMap.Net # Codeplex
There is open-source application Kosmos for browsing OpenStreetMap maps
http://wiki.openstreetmap.org/wiki/Kosmos
However it reads OSM data and renders it on the fly.
I guess you need some example which loads map tiles and put them in the right order. There is such an example for OpenStreetMap: project osmclient on the sourceforge (sorry cannot post a link, i am a newbie)
It can be simply redone to load other sources, even ArcGIS, but be sure if it is compatible with the Map Provider licence. E.g. you cannot choose Google Maps, because you must use Google Maps within their API.