Quantcast
Channel: Mendix Forum Questions
Viewing all articles
Browse latest Browse all 80925

Geocoding problems in Google Maps module

$
0
0

While using the Google Maps module (7.0.2, but also earlier versions) we sometimes notice problems, that a correct address is not geocoded to a proper latitude/longitude location.

We traced the problems via microflows BCo_Location / OCh_LocationAddress via SetCoordinatesByAddress to the Java action CalculateGeo. In the log the WARNING entry  'GEOCODE request failed: you are over your quota' is present (see below). This suggests we call it too often, but Google Geocoding API quota (see https://developers.google.com/maps/documentation/geocoding/usage-limits) show:

  • 2,500 free requests per day, calculated as the sum of client-side and server-side queries.
  • 50 requests per second, calculated as the sum of client-side and server-side queries.

 

Since we never hit these quota limits ourselves (by far!) and we did not have to specify our own Google API key to get it working, I am afraid all Mendix apps using this module share the same API key and these quota. So if other apps call it very regularly it could influence your own app.

Can anybody confirm this?

And is there a way to specify your own Google API key or workaround this problem in a different way?

 

Timestamp	2017-05-09 14:01:32.178
Level	Warning
Node	GoogleMaps.OCh_LocationAddress
Message	GEOCODE request failed: you are over your quota
com.mendix.core.CoreRuntimeException: com.mendix.systemwideinterfaces.MendixRuntimeException: java.io.IOException: GEOCODE request failed: you are over your quota
at GoogleMaps.SetCoordinatesByAddress (JavaAction : 'CalculateGeo')
at GoogleMaps.OCh_LocationAddress (SubMicroflow : 'SetCoordinatesByAddress')

Advanced stacktrace:
at com.mendix.modules.microflowengine.MicroflowUtil.processException(MicroflowUtil.java:143)

Caused by:
com.mendix.core.CoreRuntimeException: com.mendix.systemwideinterfaces.MendixRuntimeException: java.io.IOException: GEOCODE request failed: you are over your quota
at com.mendix.core.component.InternalCore.execute(InternalCore.java:422)

Caused by:
com.mendix.systemwideinterfaces.MendixRuntimeException: java.io.IOException: GEOCODE request failed: you are over your quota
at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:176)

Caused by:
java.io.IOException: GEOCODE request failed: you are over your quota
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:40)

Caused by:
GEOCODE request failed: you are over your quota
at googlemaps.actions.GeoCoder.getLocation(GeoCoder.java:83)
at googlemaps.actions.CalculateGeo.executeAction(CalculateGeo.java:44)
at googlemaps.actions.CalculateGeo.executeAction(CalculateGeo.java:23)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49)
at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248)
at com.mendix.core.actionmanagement.ActionManager$1.execute(ActionManager.java:168)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36)
at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:172)
at com.mendix.core.component.InternalCore.execute(InternalCore.java:414)
at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.scala:52)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:192)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:149)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49)
at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248)
at com.mendix.core.actionmanagement.ActionManager$1.execute(ActionManager.java:168)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36)
at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:172)
at com.mendix.core.component.InternalCore.executeSync(InternalCore.java:496)
at com.mendix.modules.microflowengine.actions.SubMicroflowAction.execute(SubMicroflowAction.scala:43)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:192)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:149)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49)
at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248)
at com.mendix.core.actionmanagement.CustomActionMonitorImpl$$anonfun$run$1.apply(CustomMonitoredAction.scala:14)
at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(ActionDispatching.scala:143)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36)
at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(ActionDispatching.scala:145)
at scala.util.Try$.apply(Try.scala:192)
at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(ActionDispatching.scala:139)
at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
at com.mendix.core.session.Worker.aroundReceive(ActionDispatching.scala:135)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
at akka.actor.ActorCell.invoke(ActorCell.scala:487)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
at akka.dispatch.Mailbox.run(Mailbox.scala:220)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

 


Viewing all articles
Browse latest Browse all 80925

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>