我目前正在使用Google Maps Places自动填充Javascript API,让用户通过搜索地址或企业名称来选择位置.示例代码:
autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
console.log(autocomplete.getPlace());
});
Run Code Online (Sandbox Code Playgroud)
这将获得以下数据.
{
"address_components":[
{
"long_name":"1600",
"short_name":"1600",
"types":[
"street_number"
]
},
{
"long_name":"Amphitheatre Parkway",
"short_name":"Amphitheatre Pkwy",
"types":[
"route"
]
},
{
"long_name":"Mountain View",
"short_name":"Mountain View",
"types":[
"locality",
"political"
]
},
{
"long_name":"Santa Clara County",
"short_name":"Santa Clara County",
"types":[
"administrative_area_level_2",
"political"
]
},
{
"long_name":"California",
"short_name":"CA",
"types":[
"administrative_area_level_1",
"political"
]
},
{
"long_name":"United States",
"short_name":"US",
"types":[
"country",
"political"
]
},
{
"long_name":"94043",
"short_name":"94043",
"types":[
"postal_code"
]
} …
Run Code Online (Sandbox Code Playgroud) javascript json google-maps google-maps-api-3 google-places-api
我有以下几点:
//main.js
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('worker.js').then(function(worker){
// firebase.messaging().useServiceWorker(worker);
navigator.serviceWorker.controller.postMessage([MESSAGE HERE]);
});
}
Run Code Online (Sandbox Code Playgroud)
在 worker.js 中:
self.onmessage=function(e){
console.log(e.data);
}
Run Code Online (Sandbox Code Playgroud)
但在 main.js 中,我收到此错误:
未捕获的类型错误:无法读取 null 的属性“postMessage”
为什么会这样?
在 index.js 中,我有:
exports.makeUppercase = functions.database.ref('/messages/{pushId}/original').onCreate((snapshot, context) => {
// Grab the current value of what was written to the Realtime Database.
const original = snapshot.val();
console.log('Uppercasing', context.params.pushId, original);
const uppercase = original.toUpperCase();
// You must return a Promise when performing asynchronous tasks inside a Functions such as
// writing to the Firebase Realtime Database.
// Setting an "uppercase" sibling in the Realtime Database returns a Promise.
return snapshot.ref.parent.child('uppercase').set(uppercase);
});
Run Code Online (Sandbox Code Playgroud)
我从字面上复制粘贴了代码:https : //firebase.google.com/docs/functions/get-started
不知何故,当我部署使用
firebase deploy --only functions
Run Code Online (Sandbox Code Playgroud)
我得到: …