有时它有效......有时它不会。很奇怪。间歇性应用程序崩溃:JQM Beta 3,Google Maps v3和MVC
我写了一个JQuery Mobile应用程序,应用程序的一部分访问Google Maps来显示特定的用户选择位置的地图。大约50%的时间这段代码正确执行。非常棒,就像我想要的一样。另外50%的时间,但是,应用程序崩溃。通过崩溃,我的意思是应用程序“突然停止”,然后关闭。没有警告或错误消息。应用程序不再运行了。 我的架构是这样的:MVC 2.0使用母版页。 JQM Beta 3,Google Maps API v3。该应用程序是一个Web应用程序,使用我刚刚提到的技术,但是它运行在Web浏览器Safari内部,位于安装的“本机”iPhone应用程序内部。正如我上面提到的那样,当应用程序崩溃时,崩溃的是原生iPhone应用程序。 调试/故障排除:我可以在100%的时间内成功运行应用程序,而不会通过在移动设备上使用本机浏览器Safari并导航到Web服务器上运行的Web应用程序而导致崩溃。只有当我启动“已安装的”“本机”iPhone应用程序并让本机应用程序导航到运行在同一个Web服务器上的同一个Web应用程序,然后导航到应用程序的地图部分时,我在第一段出现。我目前正在寻求检索和分析iPhone设备上本机生成的“崩溃报告”,但我从该崩溃报告中没有任何有用的信息。
我使用了一个非常简单的实现谷歌地图,用一些很基本的,标准代码:
<script type="text/javascript">
$('#gmap-2').live("pageshow", function() {
initMap();
});
function initMap() {
var latlng = getLatLng();
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function getLatLng() {
var latitude = "<%: Model.Latitude %>"; // "32.931962";
var longitude = "<%: Model.Longitude %>"; //"-96.789191";
var TSlatlng = new google.maps.LatLng(latitude, longitude);
return TSlatlng;
}
</script>
<div data-role="content" data-theme="c">
<div class="ui-bar-c ui-corner-all ui-shadow" style="padding: 1em;">
<div id="map_canvas" style="height: 300px;">
</div>
</div>
</div>
的 “头” 是这样的:
<!-- google maps api script -->
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
<!-- core jQuery -->
<script src="../../../../Scripts/jquerymobile/js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function() {
$.mobile.page.prototype.options.addBackBtn = true;
});
</script>
<!-- core jQuery Mobile -->
<!-- BETA 3 -->
<script src="../../../../Scripts/jquerymobile/js/jquery.mobile-1.0b3.min.js" type="text/javascript"></script>
</head>