- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试整合 Google maps Places search box进入我的 jQuery 移动应用程序。
我在 jQuery Mobile 中创建了一个带有首选样式的搜索框。我想使用这个搜索框而不是标准的谷歌搜索框。但出于某种原因,我的搜索框样式被谷歌地图搜索框样式覆盖,如下图 (1) 所示。有人可以建议我一种方法来实现 image2 中显示的预期结果。另请找到我的完整代码。我会很感激任何人的帮助。
下图 (2) 显示了我正在努力实现的目标。
完整代码
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0-rc.1/jquery.mobile-1.4.0-rc.1.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0-rc.1/jquery.mobile-1.4.0-rc.1.min.js"></script>
<!-- Google maps source for places seearch box and map display on page initilization-->
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<style>
#map-page, #map_canvas { width: 100%; height: 80%; padding: 0; }
.container_16, #set_location {
z-index:1;
}
.container_16 .alpha { clear-left: 0; }
.grid_3,.grid_13{ margin: 0; padding: 1.5% !important; border: 0; float: left; }
.container_16 { overflow: hidden; }
.container_16 .grid_3 {
width: 15.75% !important;
}
.container_16 .grid_13 {
width: 78.25% !important;
}
</style>
<script>
function initialize() {
var markers = [];
var map = new google.maps.Map(document.getElementById('map_canvas'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-33.8902, 151.1759),
new google.maps.LatLng(-33.8474, 151.2631));
map.fitBounds(defaultBounds);
// Create the search box and link it to the UI element.
var input = /** @type {HTMLInputElement} */(
document.getElementById('search_location')); // pac-input changed to search_location
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
var searchBox = new google.maps.places.SearchBox(
/** @type {HTMLInputElement} */(input));
// [START region_getplaces]
// Listen for the event fired when the user selects an item from the
// pick list. Retrieve the matching places for that item.
google.maps.event.addListener(searchBox, 'places_changed', function() {
var places = searchBox.getPlaces();
for (var i = 0, marker; marker = markers[i]; i++) {
marker.setMap(null);
}
// For each place, get the icon, place name, and location.
markers = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
var image = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
// Create a marker for each place.
var marker = new google.maps.Marker({
map: map,
icon: image,
title: place.name,
position: place.geometry.location
});
markers.push(marker);
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
});
// [END region_getplaces]
// Bias the SearchBox results towards places that are within the bounds of the
// current map's viewport.
google.maps.event.addListener(map, 'bounds_changed', function() {
var bounds = map.getBounds();
searchBox.setBounds(bounds);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div data-role="page" id="map-page" data-url="map-page">
<div data-role="header" data-theme="a">
<div>
<img id='houseid' style='width:120px; ' src="" alt="logo"/>
</div>
<div>
<a href="#popup_cancel" data-rel="popup" data-position-to="window" data-transition="pop" class=" ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-delete ui-btn-icon-left ui-btn-right ui-btn-a">Cancel</a>
</div>
</div>
<div class='container_16 ui-corner-all' style='background-color: white; z-index:1000000000 !important; ' >
<div class='grid_3' style='padding-top:0% !important; padding-bottom:0% !important;'>
<a id='location' style='padding: 0%; margin-top: 0.65em;' href="#" onclick='get_location()' class="ui-btn ui-corner-all ui-mini">
<img id='location_img' style='width:20px; padding:5px;' src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSwWvXKHpBpZ04VsfcHHtdjyHWhOrNq1zjDPWKg4vrg35wiPD8S8DQBSg" alt="HouseID">
</a>
</div>
<div class='grid_13' style='padding-top:0% !important; padding-bottom:0% !important;'>
<input id='search_location' type='search' style=''>
</div>
</div>
<div role="main" class="ui-content" id="map_canvas" style='padding:0%;'>
<!-- map loads here... -->
</div>
</div>
<div data-role="popup" id="popup_cancel" data-overlay-theme="b" data-theme="a" data-dismissible="false" style="max-width:400px;">
<div data-role="header" data-theme="a"> <!-- This div element is not allowing Google map to render -->
<h1>Cancel ?</h1>
</div>
<div role="main" class="ui-content">
<h5 class="ui-title">Are you sure you want to cancel and go back?</h5>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-a ui-mini" data-rel="back">Cancel</a>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-a ui-mini" data-rel="back" data-transition="flow">Delete</a>
</div>
</div>
</body>
</html>
最佳答案
删除第 51 行:
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
此行的目的是将元素“input”嵌入 map 的特定位置“TOP_LEFT”。 See google documentation .我试用了您的代码并将其注释掉,并观察到您正在寻找的结果。
关于css - 覆盖谷歌地图在 jqm 中放置搜索框样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20236812/
我需要一些特定于移动设备的样式,类似于 jquery mobile(以及 enyojs、sencha touch 等)提供的样式。特别是,我想使用类似于 jqm 的“linked list”导航样式的
我只想在 collapsiblecol1 之前更改 collapsible col2 的位置。最后的顺序应该是: 1.col2 2.col1 3.col3
我正在尝试在我的第一个 JQM 网站中添加单个条件表单元素 本质上,如果先前选择的值满足预定义的常量,我想添加一个字段。 Item1 Item2 Item3 It
我在前面加上这段代码: Test OFF ON
这个问题在这里已经有了答案: How to change page in jQuery mobile (1.4 beta)? (2 个答案) 关闭 8 年前。 我使用的是 1.4,因此不推荐使用 c
我向 div 容器添加了一个弹出窗口。打开弹出窗口不起作用。 这是我的容器结构: dosn't work either -->
这是一件很奇怪的事情。最后一个按钮总是垂直错位。 http://jsfiddle.net/5u38gf00/ one two
我为单选按钮设置了一个水平对齐的字段,虽然按钮在 iPhone 上显示“恰到好处”,因为它们都在同一条线上而不会中断,但我担心在另一个尺寸的显示器上它会把按钮包起来,看起来很糟糕。 有没有一种简单的方
我有一些基本的 HTML,即; Item1 Item2 Item3 Item4 默认情况下,我将
我仍在研究 JQM,如果这是一个简单的问题,请原谅我。 我正在处理以下 JQM 代码,但我注意到的问题是当我尝试向下拖动文本区域时,它的响应速度似乎有点慢: JQ $(function() {
我对 JQMobile 有疑问。我有两个必须具有相同高度的 div,所以我在周围的 div 上使用了 display: table 并在我的内容周围使用了 display: table-cell。然而
我的 JQM 标题上有多个小的无文本按钮,请参阅下图,在我的 Android PhoneGap 应用程序上。这些按钮在触摸屏设备上很难单击(在桌面浏览器上则很好)。似乎要触发点击事件,我必须点击按钮的
我正在使用 Jquery mobile 作为表单/输入字段集。我需要能够检查字段集中的字段是否完整/具有值。 当可折叠链接关闭时,我需要检测所有字段之一是否有值,如果没有,则应向可折叠链接添加一个类。
我有一个星期几的可折叠集,其中用户的事件表示为可折叠集内的 ListView 。 Sunday
下面的JSFiddle给出了基本的源码: http://jsfiddle.net/vgDwj/6/ Sample
有一个非常小的例子来演示我的 jquerymobile 问题: JSFiddle - http://jsfiddle.net/forrest_gump/Q73Mk/3/ 正如你所看到的,我调用 jqm
我想制作一个全局弹出窗口,这样我就可以从不同的页面访问它。我正在阅读有关此内容的文章,解决方案是将其直接添加到index.html标签中的body标签中,所以我这样做了,现在我可以使用此代码从我的其他
我在 JQuery Mobile 1.4.5 页面中使用以下代码,它显示 jqm 多个自定义选择菜单。 options title o
我正在使用 JQM 1.3.1。我有一个显示元素列表的页面,每个元素旁边都有一个按钮,单击该按钮会显示一个包含一些常规信息的弹出窗口: 重要:我需要弹出窗口出现在按下的按钮旁边 问题是当对象位于页面底
我正在使用 jQuery 移动版。我想要一个固定的标题,我在其中放置标题、菜单按钮、下拉菜单和加载按钮。此结构的目的是在内容区域中加载一个列表,我希望在滚动列表时标题和内容位于固定位置。
我是一名优秀的程序员,十分优秀!