我正在使用Phonegap处理一个Android应用程序,但我无法弄清楚如何打开本地Google Maps应用程序来显示方向.我通过插入URL打开地图没有任何问题,但打开应用程序让我感到难过.到目前为止,我只能在iOS平台上找到与Phonegap相关的开发建议.
我已将Google地图添加到白名单权限,包括我脚本标记中的正确Cordova.js文件和google地图链接,在我的AndroidManifest.xml文件中拥有正确的权限,在我的构建路径中包含Cordova.jar和Google Map API ,在res目录中有Phonegap xml文件夹,在我的assets/www目录下有js文件,在libs目录下有jar文件.
我想要完成的事情:
以下示例适用于我的Android设备,与iOS上的相同,但显然无法打开Google Maps应用程序的操作.
<a> href="http://maps.google.com/maps?q=TD Washington DC"><img src="img/ico_pin.png" />White House</a></a>
Run Code Online (Sandbox Code Playgroud)
第二个例子通过包括结束位置来增加第一个例子,尽管我无法弄清楚如何插入当前位置.但最重要的是,它仍然无法打开Google地图应用程序.
<a href="javascript:openMaps('daddr=1600+Pennsylvania+Ave+NW+Washington+DC+20500+USA');"><img src="img/ico_pin.png" />White House</a>
function openMaps(querystring) {
var maproot = '';
maproot = 'http://maps.google.com/maps?saddr=Current+Location&';
window.location = maproot + querystring;
}
Run Code Online (Sandbox Code Playgroud)
在下面的第三个示例中,我可以在应用程序中显示地图.它确实显示了正确的路线(从A点到B点的俯视图),但同样没有打开实际的Google Maps应用程序.
<a id="whDirections" href="#mm_directions" onclick="getDirections()">
<img src="img/ico_pin.png" />White House</a>
<div data-role="content">
<div class="ui-bar-c ui-corner-all ui-shadow" style="padding: 1em;">
<div id="mapdirections_canvas" style="height: 300px;"></div>
</div>
</div>
function getDirections() {
var directionsService = new google.maps.DirectionsService();
var map;
var directionsDisplay …Run Code Online (Sandbox Code Playgroud) 如果我有一个input内部a label,为什么句子中的每个单词都会触发click事件?
这是一个jsFiddle的例子.无论您在第一句中单击哪个单词,都会触发该事件.
我添加了一些CSS,input所以你可以看到无论你在鼠标悬停在第一个标签的哪个位置,就像你在输入上盘旋一样.我还添加了第二个标签,其中使用了一个a标签,label该标签input可以正常工作(当你点击标签中的单词时,点击事件不会触发).
<label>Click <input type="submit" value="here" /> to go somewhere.</label>
<label>Click <a href="#">here</a> to go somewhere else.</label>
$('input, a').click(function() {
alert('Clicked');
});
Run Code Online (Sandbox Code Playgroud)
我的两个问题是:
input内部a ?labellabel我正在使用Google跟踪代码管理器在我的网站上触发代码.除了Internet Explorer(任何版本)之外,所有浏览器中的标记都正确触发.发生的事情是,在使用Internet Explorer时,我的自定义Javascript中没有填充GTM宏.但是,如果我刷新页面,则会填充它们.基于此,我假设问题是标签在DOM完全加载之前触发.我{{event}} equals gtm.dom在"规则"中使用.我也试过{{event}} equals gtm.load在"规则"中使用,但这也不起作用.以下是我如何定义GTM宏,规则和标记.更奇怪的是,当我在GTM中以"预览"模式测试标签时,它每次都有效,没有问题.但是一旦我发布它,除非我刷新页面,否则它不再有效.我究竟做错了什么?
宏名称: PDP-ProdID
宏类型:自定义JavaScript
自定义Javascript:
function () {
var pdp_prodid = document.getElementsByName('sku')[0].value;
return pdp_prodid;
}
Run Code Online (Sandbox Code Playgroud)
规则名称: FullSite_Product_Detail_Page - 页脚
条件:
{{url}} contains gohastings.com/product/
{{event}} equals gtm.dom
标记名称: Fetchback_Smart_Pixel-Remarketing-PDP
标记类型:自定义HTML标记
HTML:
<iframe src='{{protocol}}://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products={{PDP-ProdID}}' scrolling='no' width='1' height='1' marginheight='0' marginwidth='0' frameborder='0'></iframe>
射击规则: FullSite_Product_Detail_Page - 页脚
网站: qa.gohastings.com(但是,我有我的QA网站的一些问题,所以使用这个链接,因为它会直接带您到产品详细信息页.
http://qa.gohastings.com/product/BOOK/Fifty -Shades-of-Grey-Bk-1/sku/287464232.uts(产品详细信息页面)
第一页加载时标记的结果
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=undefined" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">
页面重新加载后的标记结果
<iframe width="1" height="1" src="http://pixel.fetchback.com/serve/fb/pdj?cat=&name=landing&sid=6288&browse_products=287464232" frameBorder="0" marginWidth="0" marginHeight="0" scrolling="no">
我试图在ajax post请求发送时显示加载gif图像.实际上我的代码是通过画布捕获图像,这个图像呈现并转到php页面进行保存.这个php文件保存并返回图像.现在我需要在请求发布时显示加载图像,并在ajax请求完成时隐藏加载图像.任何人都知道如何做到这一点?
JavaScript的
function capture() {
$('.showcase').html2canvas({
onrendered: function (canvas) {
//Set hidden field's value to image data (base-64 string)
$('#img_val').val(canvas.toDataURL("image/png"));
//Show loading image
$("#preview-loading").html('<img src="editor/loader.gif" alt="Uploading...."/>');
//Submit the form with ajax function
$("#myForm").ajaxForm({
target: '#preview-des'
}).submit();
}
});
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="preview-loading"></div>
<div id="preview-des"></div>
<form method="post" action="editor/save.php" enctype="multipart/form-data" id="myForm">
<input type="hidden" name="img_val" id="img_val" value="" />
</form>
Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的示例php文件,用于显示一些函数输出.这是代码..
<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');
switch (key($_GET)){
case 'red':
$printHeader = pageHeader('red','on');
$printName = hello('Joel');
break;
case 'blue':
$printHeader = pageHeader('blue','off');
$printName = hello('Duck');
break;
case 'yellow':
//$printHeader = pageHeader('yellow','on');
break;
}
function hello($name){
return $name;
}
function pageHeader($header,$onoff){
if ($onoff == 'on') {
return $header."page header<br>";
}
else {return null;}
}
echo $printHeader;
echo $printName;
?>
Run Code Online (Sandbox Code Playgroud)
此代码工作正常,没有任何问题.
当我打电话给'example.com/php/tipo34.php?red'时,它显示在屏幕上:
redpage header
Joel
Run Code Online (Sandbox Code Playgroud)
当我打电话给'example.com/php/tipo34.php?blue'时,它会显示在屏幕上:
Duck
Run Code Online (Sandbox Code Playgroud)
我试图将下面的函数放在另一个名为tipo34-req.php的php文件中,并收到以下错误:
Fatal error: Call to undefined function pageHeader() in C:\wamp\www\php\tipo34.php on …Run Code Online (Sandbox Code Playgroud) javascript ×3
jquery ×2
ajax ×1
android ×1
cordova ×1
geolocation ×1
google-maps ×1
html ×1
php ×1