Я пытаюсь использовать этот элемент, чтобы нарисовать статическое изображение Google Maps, которое появляется на экране, как только пользователь нажимает кнопку отправки. HTML выглядит следующим образом:Изображение холста не отображается до второй попытки
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=MYKEY&sensor=true">
</script>
<script type="text/javascript" src="createmap.js">
</script>
</head>
<body>
<form onsubmit="display_map(34.1,-76.08168); return false;">
<input type="submit" value="Submit"/>
</form>
<canvas id='map-canvas' />
</body>
</html>
и функция display_map() в createmap.js:
function display_map(center0, center1) {
var image = new Image();
image.src = 'http://maps.googleapis.com/maps/api/staticmap?center='
+ center0 + ',' + center1 + '&zoom=13&size=800x800&sensor=false';
var canvas = document.getElementById('map-canvas');
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
}
первый раз, когда пользователь нажимает на кнопку отправки, ничего не происходит. Однако каждый последующий щелчок загружает изображение (даже если вкладка закрыта, а затем снова открыта). Изменение параметров center0
и center1
приведет к сбросу страницы и снова заставит два клика отобразить новое изображение, которое генерирует Google. Такое поведение, похоже, не происходит из Карт Google, поскольку такая же проблема возникает при загрузке изображения с моего жесткого диска. Это происходит в каждом браузере, который я тестировал (Firefox, IE и Chrome).
Это работает. Благодаря! –