MyBB.de Forum

Normale Version: Page Manager: User Map
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

mit meinen rudimentären php-Kenntnissen komme ich nicht weiter.

Ich nutze das Plugin Page Manager und dort die User Map.
Dies funktioniert auch einwandfrei.

Nun möchte ich analog zur Usermap entweder eine neue Seite generieren, auf der nur eine Benutzergruppe aufgeführt wird, oder in der bestehenden Usermap einer Nutzergruppe einen spezifischen Pin zuordnen.

Hier ist der Punkt wo ich scheitere. Ich habe versucht erstmal als Kopie der bestehenden User Map hier die Usergrupe per if($mybb->user['usergroup'] != 11 aufzurufen. aber ich bekomme immer alle User aufgezeigt.

Kann ich in der User Map überhaupt einer Gruppe oder mehreren Gruppe unterschiedliche Pins zuordnen?




ok, manchmal denke ich zu kompliziert ...

Wenn ich eine zweite Seite erstelle und alle anderen Gruppen ausschließe:

Code:
WHERE f.fid" . $fid . " != ''
        AND u.usergroup NOT IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
funktioniert es.

Bleibt noch das Problem mit dem Custom pin.

Aber lieber hätte ich alles auf einer map, wo ich für die unterschiedlichen gruppen einen Pin festlegen kann.

Ich komme nicht mehr weiter Sad

Das ist der Code im Page Manager:
Code:
function initialize() {
    if (GBrowserIsCompatible()) {
        // Create our "tiny" marker icon
        var blueIcon = new GIcon(G_DEFAULT_ICON);
        blueIcon.image = "http://forum.orchideenfreunde.eu/images/flowers.png";
      
        // Set up our GMarkerOptions object
        markerOptions = { icon:blueIcon };

    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(' . $location[1] . ',' . $location[0] . '), ' . $zoom . ');
    map.setUIToDefault();

      {$output}

    }
}

Das ist der Code wie er im Quelltext der Webseite aussieht:
Code:
function initialize() {
    if (GBrowserIsCompatible()) {
        // Create our "tiny" marker icon
        var blueIcon = new GIcon(G_DEFAULT_ICON);
        blueIcon.image = "http://forum.orchideenfreunde.eu/images/flowers.png";
      
        // Set up our GMarkerOptions object
        markerOptions = { icon:blueIcon };

    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(51.1656910,10.4515260), 5);
    map.setUIToDefault();

      
        var point1 = new GLatLng(51.4148500,6.5353900);
        var html1 = "<table><tr><td></td><td><a href='http://forum.orchideenfreunde.eu/user-785.html'>Orchideen Lucke</a><br /><span class='smalltext'>Händler<br /></span></td></tr></table>";
        var info1 = new GMarker(point1);
        GEvent.addListener(info1, "click", function() {
            info1.openInfoWindowHtml(html1)
        });
        map.addOverlay(info1);
    

    }
}


Es wird nur der Standardmarker angezeigt.

Ich vermute es liegt an dem

Code:
var info1 = new GMarker(point1);

Wo ich überhaupt keine Ahnung habe woher das kommt.
Hallo nochmal,

auch mit dem Code für die V2 API ist kein Cutom Marker möglich.
http://www.powerhut.co.uk/googlemaps/cus...v2_API.php

Gibt es überhaupt die Möglichkeit in der Usermap zwei unterschiedliche Pins je nach Gruppenzugehörigkeit anzuzeigen?
Also, das Problem mit dem Custom Marker habe ich nach viel probieren lösen können. Der Code kann sicher verbessert werden, aber er funktioniert.

Hier der relevante Code:

Code:
foreach($coordscache as $index => $value)
{
    $point = explode(',', $index);
    $output .= '
        var point' . $run . ' = new GLatLng(' . $point[1] . ',' . $point[0] . ');
        var html' . $run . ' = "' . str_replace('"', "'", $value) . '";
        var info' . $run . ' = new GMarker(point' . $run . ', {icon:Icon1});
        GEvent.addListener(info' . $run . ', "click", function() {
            info' . $run . '.openInfoWindowHtml(html' . $run . ')
        });
        map.addOverlay(info' . $run . ');
    ';
    $run++;
}

$template = '<html>
<head>
<title>' . $pages['name'] . '</title>
{$headerinclude}
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=' . $key . '&amp;sensor=false" type="text/javascript"></script>
<script type="text/javascript">
' . html_entity_decode('&lt;!--/*--&gt;&lt;![CDATA[/*&gt;&lt;!--*/') . '

function initialize() {

if (GBrowserIsCompatible()) {

        var map = new GMap2(document.getElementById("map"));

    map.setCenter(new GLatLng(' . $location[1] . ',' . $location[0] . '), ' . $zoom . ');
    map.setUIToDefault();

//URL for custom and shadow icons
        var pin1 = "http://URL_zum_Bild/image.png";
        var shadow = "http://URL_zum_Bild/shadow.png";

var Icon1 = new GIcon(G_DEFAULT_ICON, pin1);
Icon1.image = pin1;
Icon1.shadow = shadow;
Icon1.iconSize = new GSize(32,37);
Icon1.shadowSize = new GSize(51,37);
Icon1.iconAnchor = new GPoint(16,37);
Icon1.infoWindowAnchor = new GPoint(16,0);
Icon1.printImage = "http://URL_zum_Bild/printImage.gif";
Icon1.mozPrintImage = "http://URL_zum_Bild/mozPrintImage.gif";
Icon1.printShadow = "http://URL_zum_Bild/printShadow.gif";
Icon1.transparent = "http://URL_zum_Bild/transparent.png";
Icon1.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0];

      {$output}

    }
}

Wichtig ist diese Änderung:

Code:
var info' . $run . ' = new GMarker(point' . $run . ', {icon:Icon1});

Wenn ich jetzt die Abfragen entsprechend numeriere, sollte es doch möglich sein, unterschiedliche Pins einzufügen, oder verstehe ich da jetzt was falsch?