HTML5-Canvas-Größe ändern Bild Klicken um zu Vergrößern

Ich habe ein Bild einer Karte in eine Leinwand, ich möchte handeln, wie die google-Maps-interface mit HTML5 und jQuery. Ich möchte die folgenden Aktionen ausführen:

 Double click on pan in without changing the size of the containing div

 Click on a building to bring up a pop up of information on that building

 Click and drag to pan

Den code habe ich jetzt das Bild im canvas-Bereich. Ich fand einige codes, die zeigen, dass "Zoomen" auf das Bild, sondern entweder die Größe der div-container, oder nicht glatt und reaktionsschnell Weg, es zu tun, nur es springt auf eine größere Größe und ich möchte das Zoomen animiert werden soll.

Gibt es einige Gebäude, die sind "angepinnt" auf der Karte, die der Benutzer anklicken kann, um Informationen über das Gebäude.

Der code ist wie folgt:

JS:

$( document ).ready( function() {
var canvas = document.getElementById( 'canvas' );
var context = null;
var map = null;

if( canvas.getContext )
{
    context = canvas.getContext( '2d' );

    $( '#map' ).load( function( evt ) {
        context.drawImage( evt.currentTarget, 10, 10 );
    } );

    map = new Image();
    map.onload = function() {
        context.drawImage( this, 20, 20 );
    };
    map.src = 'images/asu_poly_map.png';
} else {
    alert( 'Your browser does not support canvas.' );
}
} );

HTML:

<div id="map">

<canvas id="canvas" width="1055" height="600"></canvas>

</div>

CSS:

#map {
margin:0 auto;
margin-top : 180px;
width : 1200px;
}

BEARBEITET, UM HINZUFÜGEN:
Ich gehe davon aus, es wäre so etwas ähnlich wie diese, aber kann nicht herausfinden, wie Sie für ein image vom server gezogen und auf die Leinwand.

Zoom in auf einen Punkt (mit scale und translate)

Erstellt ein Basis-Geige für Sie: jsfiddle.net/CMse5

InformationsquelleAutor Jen | 2013-04-21

Schreibe einen Kommentar