首先,如果这次我的英语让你感到困惑,我道歉。这个问题听起来有点奇怪,但是让我解释一下。
我有一份申请加油产品的联系表格;它适用于商业场所,例如餐馆。在这种形式下,客户选择他需要的产品以及交付地点。当客户填写所有字段时,这些字段通过邮件发送到外部服务器,外部服务器存储数据并在发送电子邮件后发送给管理员。这很好。但是我有一个新的要求,在表单中添加一个新字段,该字段将被命名为" Location",在此字段中,客户可以使用Google添加将要交付产品的特定地点的位置地图或Apple地图。
所以,我有两个问题:
1)获取该数据的最佳方式是什么,并以一种舒适,清晰的方式提供给用户。我可以使用一些插件吗?该要求指定它必须是"像whatsapp功能共享位置",但我不知道是否可以使用Ionic完成这样的事情,以及它是否适用于android和ios,或者即使这两个案例中的任何一个都没有安装相应的地图应用程序。
2)并且,假设我已经拥有该位置,那么在帖子中发送此类信息并向管理员发送邮件的最佳方式是什么?你推荐什么?
感谢。
答案 0 :(得分:0)
这是我前一段时间写的指令。请注意,它取决于angular-google-maps
可用包here。
api也可能已经改变,所以这应该只被视为指导!
angular.module('app.directives', [
'uiGmapgoogle-maps'
])
.directive('googlePlaces', function(uiGmapGoogleMapApi) {
return {
restrict: 'AE',
replace: true,
scope: {
address: '=',
coords: '='
},
template: '<input id="google_places_ac" name="google_places_ac" type="text" class="input-block-level"/>',
link: function(scope, elm, attrs) {
var listener;
uiGmapGoogleMapApi.then(function(maps) {
var autocomplete = new maps.places.Autocomplete(elm[0], {});
listener = maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
if (place.geometry && scope.coords) {
scope.coords.latitude = place.geometry.location.lat();
scope.coords.longitude = place.geometry.location.lng();
}
scope.address = place.formatted_address;
scope.$apply();
});
});
scope.$on('$destroy', function() {
uiGmapGoogleMapApi.then(function(maps) {
if (listener)
maps.event.removeListener(listener);
});
});
}
}
});
&#13;
<!-- Usage -->
<google-places address="vm.address" [coords="vm.coords"]/>
&#13;
至于保存数据:地址字符串更好地解析但坐标更精确。如果您要保存位置,请致电