HTML HTML5:使用适用于iPhone的Marker创建动态Google地图网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML HTML5:使用适用于iPhone的Marker创建动态Google地图网站相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0, user-scalable=no" />
	<!-- Override Default Apple Grey Bar with Black Bar -->
	<meta name="apple-mobile-web-app-status-bar-style" content="black">
	<!-- Make the Web app Look more Native -->
	<meta name="apple-mobile-web-app-capable" content="yes">
	<!-- iPhone icon -->
	<link rel="apple-touch-icon" href="images/iphone/57x57.png" />
	<!-- iPhone Splash Screen -->
	<link rel="apple-touch-startup-image" href="images/iphone/splashscreen.png" />
	
	<title>Geo Location</title>
	
	<style type="text/css" media="screen">
		html{ height: 100%; }
		body{ height: 100%; margin: 0; padding: 0; }
		#map{ width: 100%; height: 100%; }
	</style>
	<style type="text/css" media="screen">
		/* Target ipad Devices in Portrait Orientation */
		@media screen and (device-width: 768px) and (orientation:portrait){

		}
		@media screen and (device-width: 768px) and (orientation:landscape){

		}		
	</style>
	
		<!-- jQuery Min -->
		<script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
		
		<!-- Google Maps -->
		<script type="text/javascript" charset="utf-8" src="http://maps.google.com/maps/api/js?sensor=true"></script>

		<script charset="utf-8" type="text/javascript">
		mapWidth = screen.width;
		mapHeight = screen.height;
				
		$(document).ready(function(){
			//Orientation
			var supportsOrientationChange = "onorientationchange" in window, 
				orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
				
			$(window).bind( orientationEvent, onOrientationChange );
			function onOrientationChange(){
				switch( window.orientation ){
					//Portrait: normal
					case 0:
						break;
					//Landscape: clockwise
					case -90:
						break
					//Landscape: counterclockwise
					case "180":
						break;
					//Portrait: upsidedown
					case "90":
						break;
				}
			}
			
			//GeoLocation
			var geo = navigator.geolocation;
			if( geo ){
				geo.getCurrentPosition( showLocation, mapError, { timeout: 5000, enableHighAccuracy: true } );
			}
			
			function createMarker( latlng, map ){
 				return new google.maps.Marker( { position: latlng, map: map } );
			}
			
			function createDynamicMap( latlng ){
				var div = $("#map")[0];
				var options = { zoom: 14, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
				return new google.maps.Map( div, options );
			}

			function showLocation( position ){
				var lat = position.coords.latitude;
				var lng = position.coords.longitude;
				var latlng = new google.maps.LatLng( lat, lng );
				
 				var map = createDynamicMap( latlng );
				var marker1 = createMarker( latlng, map );	
			}

			function mapError( e ){
				var error;
				switch( e.code ){
					case 1: 
						error = "Permission Denied.\n\n Please turn on Geo Location by going to Settings > Location Services > Safari";
					break;
					case 2: 
						error = "Network or Satellites Down";
					break;
					case 3: 
						error = "GeoLocation timed out";
					break;
					case 0: 
						error = "Other Error";
					break;
				}
				$("#map").html( error );
			}
		});
		</script>
	
	</head>
	<body>
		<div id="map">
			
		</div>
	</body>
</html>

适用于 iPhone / iPad 的 HTML5 视频。如何检测连接速度?

【中文标题】适用于 iPhone / iPad 的 HTML5 视频。如何检测连接速度?【英文标题】:HTML5 video for iPhone / iPad. How to detect connection speed? 【发布时间】:2010-11-15 14:27:44 【问题描述】:

我需要在 iPhone/iPad 的 Safari 中以最佳质量流式传输视频。

我创建了 2 个视频文件:一个用于慢速 3G 速度的低质量视频文件,一个用于 WiFi 宽带流的高质量视频文件。我注意到一些应用程序(例如 YouTube)能够检测移动设备是通过 3G 还是 WiFi 运行,因此选择小尺寸视频而不是高质量视频。

现在这是我的 DOM / Javascript 代码,$v 值被替换为 PHP 并包含视频文件名:

<video id="thevideo" src="streaming/video_<?=$v ?>.m4v"     preload="preload" controls="controls" autoplay="autoplay">
flowplayer/video<?=$v ?>.m4v
</video>    

<script type="text/javascript">
var myvideo = document.getElementById("thevideo");

myvideo.load();
myvideo.play();
</script>

我可以用 Javascript / Webkit 编写一些能够检测连接模式的东西吗?

谢谢大家。

【问题讨论】:

【参考方案1】:

您必须加载某种文档来测试您的连接速度。

一个例子——http://alexle.net/archives/257

【讨论】:

【参考方案2】: 我假设这将在您自己的应用程序中:

在发送 UIWebView 的请求之前,您可以使用 Apple 的 Reachability 来确定应用程序中的连接类型。您可以通过添加查询来修改请求的 URL:

//determine the connection type via Reachability

myURLString = [myURLString stringByAppendingString:[NSString stringWithFormat:@"?conntype=%@", *connTypeString]];

//then send the request for the page.

然后,在 PHP 中解析 URL 查询以确定应该使用的视频 URL。

如果没有,您需要通过第三方 Javascript 或 PHP 脚本测试连接速度。

示例:http://jan.moesen.nu/code/php/speedtest/index.php?numKB=512

【讨论】:

以上是关于HTML HTML5:使用适用于iPhone的Marker创建动态Google地图网站的主要内容,如果未能解决你的问题,请参考以下文章

适用于所有设备的 HTML5 应用程序的媒体查询

使用 html5 进行地理定位

HTML5 拖放 getData() 仅适用于 Chrome 中的拖放事件?

HTML5 拖放 getData() 仅适用于 Chrome 中的拖放事件?

Youtube 嵌入视频:自动播放功能在 iphone 中不起作用

适用于iOS网络应用的多个“苹果触摸启动图像”分辨率(尤其适用于iPad)?