Members map

Members map [Paid] 1.2.2

No permission to buy (€20.00)

XFA

Well-known member
XFA submitted a new resource:

Members map - Display a members map on your forum

Description
With Members Map, you can display a map on your forum to display the localization of your forum members if they wished to.

For members where localization is set, a mini-map can be displayed on their profile.

View attachment 317700

Features:
  • Usergroup permission: View map
  • Usergroup options:
    • Marker icon
    • Marker color
  • User privacy option: Show your location
  • Options:
    • Map settings:
      • Map provider: You can...

Read more about this resource...
 
I tried uploading this in the traditional sense, just as a zip file in the Admin CP and got an error.

I looked at the instructions and uploaded it as per the instructions. I still get an error:


The following errors must be resolved before continuing:
  • vendor folder does not exist - cannot proceed with addon install
It doesn't seem to work no matter how I upload it... I unzipped it, and copied everything in the upload folder over and still same error.
 
I tried uploading this in the traditional sense, just as a zip file in the Admin CP and got an error.

I looked at the instructions and uploaded it as per the instructions. I still get an error:


The following errors must be resolved before continuing:
  • vendor folder does not exist - cannot proceed with addon install
It doesn't seem to work no matter how I upload it... I unzipped it, and copied everything in the upload folder over and still same error.
Hi
Thanks for feedback
Should be good in 1.0.1

Regards
 
That's fixed... but it appears to be broken. Nothing shows up on the map as far as members.... and I get this error in the Admin CP constantly.

Screenshot 2025-01-20 at 9.55.48 AM.webp
 
Ok i need to fix it for non membres account
For your problem, do you have setup permissions ?

Yes, I gave the registered usergroup permissions to view the map. Not to guests. But still nothing showed up.
 
Do you have change your location via the autocomplete field in map sidebar ? Do you have change your privacy settings ?
 
Is this supposed to work without adding any API keys? I have it set to use the default provider, but nothing ever shows up on the map. The Admin CP errors are gone. Usergroups have permission to view it... but the map shows no members/entries, even though there are many members logged in. I ran the cron job as well..

Edit: OK, I went to add my location on the actual map page and got this error:

Exception: Erreur API: Client error: GET https://nominatim.openstreetmap.org/search?q=Cedar%20Park&limit=5&featureType=city&format=json resulted in a 403 Forbidden response: <html> <head> <title>Access blocked</title> </head> <body> <h1>Access blocked</h1> <p>You have been blocked because you (truncated...) in src/addons/XFA/MembersMap/Service/Place/Nominatim.php at line 70
  1. XFA\MembersMap\Service\Place\Nominatim->makeGetRequest() in src/addons/XFA/MembersMap/Service/Place/Nominatim.php at line 34
  2. XFA\MembersMap\Service\Place\Nominatim->search() in src/addons/XFA/MembersMap/Pub/Controller/SearchController.php at line 25
  3. XFA\MembersMap\Pub\Controller\SearchController->actionIndex() in src/XF/Mvc/Dispatcher.php at line 362
  4. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 264
  5. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 121
  6. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 63
  7. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2826
  8. XF\App->run() in src/XF.php at line 806
  9. XF::runApp() in index.php at line 23
 
I got it working with my location by switching to Google Maps. It appears that I have to actually go into the map and set my location.

It doesn't pull it by the location in their user profile or their IP address?
 
Is this supposed to work without adding any API keys? I have it set to use the default provider, but nothing ever shows up on the map. The Admin CP errors are gone. Usergroups have permission to view it... but the map shows no members/entries, even though there are many members logged in. I ran the cron job as well..

Edit: OK, I went to add my location on the actual map page and got this error:

Exception: Erreur API: Client error: GET https://nominatim.openstreetmap.org/search?q=Cedar%20Park&limit=5&featureType=city&format=json resulted in a 403 Forbidden response: <html> <head> <title>Access blocked</title> </head> <body> <h1>Access blocked</h1> <p>You have been blocked because you (truncated...) in src/addons/XFA/MembersMap/Service/Place/Nominatim.php at line 70
  1. XFA\MembersMap\Service\Place\Nominatim->makeGetRequest() in src/addons/XFA/MembersMap/Service/Place/Nominatim.php at line 34
  2. XFA\MembersMap\Service\Place\Nominatim->search() in src/addons/XFA/MembersMap/Pub/Controller/SearchController.php at line 25
  3. XFA\MembersMap\Pub\Controller\SearchController->actionIndex() in src/XF/Mvc/Dispatcher.php at line 362
  4. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 264
  5. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 121
  6. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 63
  7. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2826
  8. XF\App->run() in src/XF.php at line 806
  9. XF::runApp() in index.php at line 23
This error is due to nominatim server by OSM. In their policy, they don’t authorize autocomplete it’s why we recomand to use your own server for this (or use Google map with API Key)
 
It’s work with widget system so you can hook change location widget where you want.
And no we cant get location from user profile because it’s not real location. Maybe in the futur we can get by IP address but now with all VPN it’s complicated…
 
I'm getting frustrated with this add-on. First, it works differently than any other Member Map previously... which would be OK, if the description and instructions were clear and complete.

They are not.

It's been very buggy, and clearly the release was rushed.

I've downloaded the newest version and switched it to secondary usergroup mode. Configured those usergroups with the correct display order.

Now the members don't show up on the map that have taken the time to manually configure it as it appears the newest update breaks it. The map only says "undefined" in the map positions now. Looks like the recent update breaks it if you want to use the secondary group feature.

Here is the errors it is generating in the Admin CP, seems to have a conflict with Andrew/ModeratorPanel -- those errors are repeated many hundreds of times.

  • ErrorException: Template error: [E_USER_WARNING] Method canDisplayLocation is not callable on the given object (Andrew\ModeratorPanel\XF\Entity\User)
  • src/XF/Template/Templater.php:1278
  • Generated by: Unknown account
  • Jan 21, 2025 at 9:28 AM

Stack trace​

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/nginx/dom...', 1278)
#1 src/XF/Template/Templater.php(1278): trigger_error('Method canDispl...', 512)
#2 /storage/xf/internal_data/code_cache/templates/l1/s9/public/xfa_mm_macros.php(202): XF\Template\Templater->method(Object(Andrew\ModeratorPanel\XF\Entity\User), 'canDisplayLocat...', Array)
#3 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('xfa_mm_macros', 'xfa_mm_user_loc...', Array, Array, Object(XF\Template\MacroState))
#5 /storage/xf/internal_data/code_cache/templates/l1/s9/public/message_macros.php(76): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro('xfa_mm_macros', 'xfa_mm_user_loc...', Array, Array)
#6 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#7 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('message_macros', 'user_info', Array, Array, Object(XF\Template\MacroState))
#8 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(25): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro(NULL, 'message_macros:...', Array, Array)
#9 src/XF/Template/Templater.php(1093): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#10 src/XF/Template/Templater.php(1029): XF\Template\Templater->renderExtensionInternal('user_cell', Array, Array, Object(XF\Template\ExtensionSet))
#11 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(168): XF\Template\Templater->renderExtension('user_cell', Array, Object(XF\Template\ExtensionSet))
#12 src/XF/Template/Templater.php(1093): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#13 src/XF/Template/Templater.php(1029): XF\Template\Templater->renderExtensionInternal('full_body', Array, Array, Object(XF\Template\ExtensionSet))
#14 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(215): XF\Template\Templater->renderExtension('full_body', Array, Object(XF\Template\ExtensionSet))
#15 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#16 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('post_macros', 'post', Array, Array, Object(XF\Template\MacroState))
#17 /storage/xf/internal_data/code_cache/templates/l1/s9/public/thread_view.php(1008): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro(NULL, 'post_macros::po...', Array, Array)
#18 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#19 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view', Array, true, Object(XF\Template\ExtensionSet))
#20 src/XF/Template/Templater.php(1791): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array, true, Object(XF\Template\ExtensionSet))
#21 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view_typ...', Array, true, NULL)
#22 src/XF/Template/Template.php(24): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array)
#23 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#24 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\ViewT...', 'public:thread_v...', Array)
#25 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#26 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#27 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#28 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#29 src/XF.php(806): XF\App->run()
#30 index.php(23): XF::runApp('XF\\Pub\\App')
#31 {main}

Request state​

array(4) {
["url"] => string(29) "/threads/first-seated.494195/"
["referrer"] => bool(false)
["_GET"] => array(1) {
["/threads/first-seated_494195/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
 
I'm getting frustrated with this add-on. First, it works differently than any other Member Map previously... which would be OK, if the description and instructions were clear and complete.

They are not.

It's been very buggy, and clearly the release was rushed.

I've downloaded the newest version and switched it to secondary usergroup mode. Configured those usergroups with the correct display order.

Now the members don't show up on the map that have taken the time to manually configure it as it appears the newest update breaks it. The map only says "undefined" in the map positions now. Looks like the recent update breaks it if you want to use the secondary group feature.

Here is the errors it is generating in the Admin CP, seems to have a conflict with Andrew/ModeratorPanel -- those errors are repeated many hundreds of times.

  • ErrorException: Template error: [E_USER_WARNING] Method canDisplayLocation is not callable on the given object (Andrew\ModeratorPanel\XF\Entity\User)
  • src/XF/Template/Templater.php:1278
  • Generated by: Unknown account
  • Jan 21, 2025 at 9:28 AM

Stack trace​

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/nginx/dom...', 1278)
#1 src/XF/Template/Templater.php(1278): trigger_error('Method canDispl...', 512)
#2 /storage/xf/internal_data/code_cache/templates/l1/s9/public/xfa_mm_macros.php(202): XF\Template\Templater->method(Object(Andrew\ModeratorPanel\XF\Entity\User), 'canDisplayLocat...', Array)
#3 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('xfa_mm_macros', 'xfa_mm_user_loc...', Array, Array, Object(XF\Template\MacroState))
#5 /storage/xf/internal_data/code_cache/templates/l1/s9/public/message_macros.php(76): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro('xfa_mm_macros', 'xfa_mm_user_loc...', Array, Array)
#6 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#7 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('message_macros', 'user_info', Array, Array, Object(XF\Template\MacroState))
#8 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(25): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro(NULL, 'message_macros:...', Array, Array)
#9 src/XF/Template/Templater.php(1093): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#10 src/XF/Template/Templater.php(1029): XF\Template\Templater->renderExtensionInternal('user_cell', Array, Array, Object(XF\Template\ExtensionSet))
#11 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(168): XF\Template\Templater->renderExtension('user_cell', Array, Object(XF\Template\ExtensionSet))
#12 src/XF/Template/Templater.php(1093): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#13 src/XF/Template/Templater.php(1029): XF\Template\Templater->renderExtensionInternal('full_body', Array, Array, Object(XF\Template\ExtensionSet))
#14 /storage/xf/internal_data/code_cache/templates/l1/s9/public/post_macros.php(215): XF\Template\Templater->renderExtension('full_body', Array, Object(XF\Template\ExtensionSet))
#15 src/XF/Template/Templater.php(922): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#16 src/addons/MaZ/ApprovalQueueSpamLinks/XF/Template/Templater.php(25): XF\Template\Templater->callMacro('post_macros', 'post', Array, Array, Object(XF\Template\MacroState))
#17 /storage/xf/internal_data/code_cache/templates/l1/s9/public/thread_view.php(1008): MaZ\ApprovalQueueSpamLinks\XF\Template\Templater->callMacro(NULL, 'post_macros::po...', Array, Array)
#18 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#19 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view', Array, true, Object(XF\Template\ExtensionSet))
#20 src/XF/Template/Templater.php(1791): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array, true, Object(XF\Template\ExtensionSet))
#21 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view_typ...', Array, true, NULL)
#22 src/XF/Template/Template.php(24): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array)
#23 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#24 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\ViewT...', 'public:thread_v...', Array)
#25 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#26 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#27 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#28 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#29 src/XF.php(806): XF\App->run()
#30 index.php(23): XF::runApp('XF\\Pub\\App')
#31 {main}

Request state​

array(4) {
["url"] => string(29) "/threads/first-seated.494195/"
["referrer"] => bool(false)
["_GET"] => array(1) {
["/threads/first-seated_494195/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
Hi
Can you tell me what is not clear in the description ?
I have try it before release it and i see no issue about secondary groups so can you explain more about your problem ?

Concerning all errors you have, they should be fixed since 1.0.2 version. Maybe you can delete them and tell me if you see something about this.

For now i haven’t many feedback so i can admit this is not perfect but please be patient.

Regards
 
Hi
Can you tell me what is not clear in the description ?
I have try it before release it and i see no issue about secondary groups so can you explain more about your problem ?

Concerning all errors you have, they should be fixed since 1.0.2 version. Maybe you can delete them and tell me if you see something about this.

For now i haven’t many feedback so i can admit this is not perfect but please be patient.

Regards

The description and readme doesn't mention that by default the built in map provider won't work.

The description doesn't say that each member will have to manually add their location in addition to having their location already set in default xenforo in order to show up.

The error I'm getting is with the updated version for secondary groups. The error in my most recent post is with the newest version.
 
The description and readme doesn't mention that by default the built in map provider won't work.

The description doesn't say that each member will have to manually add their location in addition to having their location already set in default xenforo in order to show up.

The error I'm getting is with the updated version for secondary groups. The error in my most recent post is with the newest version.
Default provider work at home but as i said their policy doesn’t incluse autocomplete fiéld it’s why i have write this
  • Nominatim server: You can change url of the server. We recommend to use your own server
But i will try to look this for next release.

It’s normal for user to set his location because as i said previously, default XF location field allow to add what you want. For exemple you can add « At home »… how i can know where is your home?

Concerning error i will check again if templates are correcly built in next release…
 
Default provider work at home but as i said their policy doesn’t incluse autocomplete fiéld it’s why i have write this
  • Nominatim server: You can change url of the server. We recommend to use your own server
But i will try to look this for next release.

It’s normal for user to set his location because as i said previously, default XF location field allow to add what you want. For exemple you can add « At home »… how i can know where is your home?

Concerning error i will check again if templates are correcly built in next release…

I would expect the software to make a best effort guess. If the location works, ie, Los Angeles, CA... use it. If it's an invalid value, don't. Something that runs via cron in the background?
 
Back
Top Bottom