0

Ich versuche, zurück Ergebnisse wie Informationen darüber nach der Identifizierung bestimmter Wörter von Google Cloud API zurückgeben. Ich mache nur eine hart codierte Ergebnisse zurück zur App.Wie erkennt man bestimmte Wörter in einer Zeichenfolge und gibt Ergebnisse zurück? (AngularJS)

Zum Beispiel, mit Google Cloud Text API, die App wird die Zeichenfolge des Textes auf den Feldern von Panadol zurückgeben. Innerhalb der Zeichenfolge identifizieren sie das Wort "panadol" und zeigen die Ergebnisse wie die Beschreibung zurück an.

Dies ist die Google-Cloud-API Tutorial i von bekam: https://www.sitepoint.com/image-recognition-with-the-google-vision-api-and-ionic/

index.html:

Dies, wo die Renditen angezeigt werden:

listCtrl.image_description ist die Zeichenfolge von Google Cloud Api listCtrl.identify_result Beschreibung ist nach der Identifizierung

<h3 class="text-center" ng-show="listCtrl.image_description"> {{ listCtrl.image_description }}</h3> 
<h3 class="text-center" ng-show="listCtrl.identify_result"> {{ listCtrl.product_result }}</h3> 

homecontroller.js:

res.responses [0] [key] [0] .beschreibung ist das Ergebnis von API zurück

var key = me.detection_types[me.detection_type] + 'Annotations'; 
me.image_description = res.responses[0][key][0].description; 

Dies ist Code, den ich für die Identifizierung verwendet, aber es funktioniert nicht

function contains(str,text) { 
    return str.indexOf(text) >= 0 ; 
    } 
    if (contains(res.responses[0][key][0].description,'panadol')){ 
    me.product_word = 'Panadol is a drug'; 
    } 

App.js

nameApp.factory('Authorization', function() { 

authorization = {}; 
authorization.image_description = ''; 
authorization.product_result = ''; 

return authorization; 
}); 

nameApp.controller('listCtrl', function($scope, Authorization) { 
$scope.test = Authorization; 
}); 

Jede Hilfe mit einer Funktion machen sehr geschätzt wird. Vielen Dank!

Aktuelle Fehler: res nicht

definiert
+0

könnten Sie bitte "result.response" Antwort hier einfügen – MGA

Antwort

0

Sie haben einen Fehler Syntax in Ihrer Funktion enthält.

Try this:

function contains(str,text) { 
    return str.indexOf(text) >= 0; 
} 
+0

Änderungen vorgenommen. Funktioniert immer noch nicht. "res ist nicht definiert" – John

+0

Sie erhalten diesen Fehler, weil Sie die Variable 'res' nicht definiert haben. Ich kann nicht ohne vollständigen Code helfen. Kommt es von 'product_result'? In diesem Fall versuchen Sie 'var res = JSON.parse (product_result)' oder 'var res = product_result' – Bludwarf

1

Verstanden gelöst.

Es wurde gelöst, indem dieser Code innerhalb des Controllers direkt unter der Antwort verschoben wurde. Vielen Dank für alle :)

function contains(str,text) { 
return str.indexOf(text) >= 0 ; 
} 
if (contains(me.image_description,'panadol')){ 
me.product_result = 'test'; 

} 
Verwandte Themen