gpt4 book ai didi

javascript - 谷歌地图自动完成 Material 设计

转载 作者:数据小太阳 更新时间:2023-10-29 04:33:29 25 4
gpt4 key购买 nike

我有一个关于在 Material 设计中实现谷歌地图自动完成功能的问题:

<md-autocomplete flex="" md-no-cache="ctrl.noCache" md-selected-item="ctrl.selectedItem" md-search-text="ctrl.searchText" md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.display" md-floating-label="Favorite state">
<span md-highlight-text="ctrl.searchText">{{item.display}}</span>
</md-autocomplete>

Angular Material autocomplete | Google Maps autocomplete

如何在谷歌地图自动完成( Angular )中使用 Material Design 的自动完成功能?

提前致谢。

我找到了这个解决方案:我只覆盖了 css 属性:

/*maps autocomplete*/
.pac-item{
font-family:RobotoDraft,Roboto,'Helvetica Neue',sans-serif !important;
font-weight: 300 !important;
color: rgb(33,33,33) !important;
line-height: 40px !important;
/*font-weight: 800;*/
}

.pac-item-query{
font-family:RobotoDraft,Roboto,'Helvetica Neue',sans-serif !important;
font-size: 16px;
}

.pac-item:hover{
background-color: #eeeeee !important;
transition: background .15s linear;
}

.pac-container{
color: rgb(33,33,33) !important;
background-color: #fafafa;
/*font-weight: 800;*/
}

.pac-icon, .pac-icon-marker{
background: none !important;
background-image: none !important;
}

最佳答案

我们对我们的应用程序有完全相同的要求,我们确实设法以“正确”的方式做到这一点,所以在这里你有 md-autocomplete 指令的解决方案(使用 Angular Material ),利用来自谷歌的 AutocompleteService API .

查看:

<md-autocomplete md-no-cache="true"
md-selected-item="vm.selectedItem"
md-search-text-change="vm.search(vm.searchText)"
md-search-text="vm.searchText"
md-items="item in vm.search(vm.searchText)"
md-item-text="item"
md-min-length="0"
placeholder="Type your address">
<md-item-template>
<span md-highlight-text="vm.searchText" md-highlight-flags="^i">{{item}}</span>
</md-item-template>
<md-not-found>
No matches found for "{{vm.searchText}}".
</md-not-found>
</md-autocomplete>

Controller :

vm.search = search;

function search(address) {
var deferred = $q.defer();
getResults(address).then(
function (predictions) {
var results = [];
for (var i = 0, prediction; prediction = predictions[i]; i++) {
results.push(prediction.description);
}
deferred.resolve(results);
}
);
return deferred.promise;
}

function getResults(address) {
var deferred = $q.defer();
vm.gmapsService.getQueryPredictions({input: address}, function (data) {
deferred.resolve(data);
});
return deferred.promise;
}

请记住在您的 Controller 激活时创建服务:

vm.gmapsService = new google.maps.places.AutocompleteService();

并在您的主应用程序文件中添加 javascript 依赖项:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KE‌​Y&libraries=places"></script>

所有虚拟机。东西是因为我们使用 John Papa Styleguide

希望对你有用!

关于javascript - 谷歌地图自动完成 Material 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com