Bonjour à tous,

Je suis actuellement en stage à l'étranger pour mon école d'ingénieur et le sujet de mon stage consiste a recréer une sorte de "google map"

Je suis donc partis de photo prise par drone pour lesquelles j'ai créer une ortho mosaïque.
J'ai ensuite crée une pyramide d'image avec le logiciel Deep zoom composer qui me permet un export sous forme de page html utilisant l'esxtension silverlight-2

mon code html est donc :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html xmlns="http://www.w3.org/1999/xhtml" style="background: rgb(204, 204, 204) none repeat scroll 0% 0%;" >
<!-- saved from url=(0014)about:internet -->
<head>
    <title>UAV maps</title>
   	<link rel="icon" type="icon/png" href="icone.png">
   	<link rel="stylesheet" type="text/css" href="css.css"/>
   	<link rel="stylesheet" type="text/javavascript" href="js.js"/>       
</head>
 
 
<body>
 
	<h1>
		<center><strong> UAV Maps </strong></center>
		<div> <img src="images.png" type ="image/png"/></div>
	</h1>
 
    <!-- Runtime errors from Silverlight will be displayed here.
	This will contain debugging information and should be removed or hidden when debugging is completed -->
	<div id='errorLocation' style="font-size: small;color: Gray;"></div>
 
    <div id="slPluginHost">
<!-- utilisation de de l'extension silverlight-2 de microsoft permettant l'affichage de mes pyramides d'images-->
<!-- On note ici la virgule à la fin de "data" qui indique un second paramètre à valeur vide. On appelle ca une virgule de fuite -->
		<object id="carte" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="750" height="1120,11464304325">
			<!-- minRuntimeVersion définie la version de l'aplication minimale permettant de lire l'extension -->
			<param name="minRuntimeVersion" value="3.0.40307.0" />
			<!-- Mise a jour automatique de la version de SilverLight. si la version actuelle n'est pas valable -->
            <param name="autoUpgrade" value="false" />
			<!-- Les name="source" est nécessaire car il indique l'emplacement du dossier de notre application -->
            <param name="source" value="Default.xap"/>
			<!-- appelle du javascript en cas d'erreur -->
            <param name="onerror" value="onSilverlightError" />
			<!-- Arrière plan classic background -->
            <param name="background" value="white" />
			<!-- Ceci définit les paramètres d'utilisation à l'aide de paires clé/valeur -->
            <!-- Ici on ajoute à les fichiers contenus dans le dossier "GeneratedImages". Ce dossier contient notre Pyramide d'image-->
            <param name="initParams" value="adFile=GeneratedImages" />
 
 
        </object>
 
		<iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>		
    </div>
</body>
</html>

et mon code JS est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function onSilverlightError(sender, args) 
        {
            var appSource = "";
            if (sender != null && sender != 0)
            {
                appSource = sender.getHost().Source;
            }
            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;
 
            var errMsg = "Unhandled Error in Silverlight 2 Application " + appSource + "\n";
 
            errMsg += "Code: " + iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";
 
            if (errorType == "ParserError") 
            {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") 
            {
                if (args.lineNumber != 0) 
                {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " + args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }
 
            throw new Error(errMsg);
        }

J'ai donc l'affichage de mon ortho mosaïque sur ma page web.
Jusque-là tout est parfait.

Maintenant je dois pouvoir récupérer les coordonnées lors du clic sur un point situé à l’intérieur de ma balise objet. Mais je ne sais absolument pas comment faire.

L'objectif final étant de pouvoir calculer la distance entre deux points de ma mosaïque et ce quel que soit le niveau de zoom.

Si quelqu'un aurait-il une idée de comment réaliser ceci ou une piste que je pourrais suivre je suis preneur.

Merci d'avance à vous.