MapUtils.php - GetMapEntries

Discussion in 'Google API' started by ggalan, Jun 13, 2011.

  1. #1
    i have used GetMap like this
    $user = new AdWordsUser();
    
    $user->LogDefaults();
    
    $targetingIdeaService = $user->GetTargetingIdeaService('v201008');
    
    $keyword = new Keyword();
    $keyword->text = $kWord;
    $keyword->matchType = 'EXACT';//BROAD , "Phrase"
    [COLOR="red"]
    $selector = new TargetingIdeaSelector();
    $selector->requestType = 'IDEAS';
    $selector->ideaType = 'KEYWORD';
    $selector->requestedAttributeTypes =  array('KEYWORD', 'AVERAGE_TARGETED_MONTHLY_SEARCHES');[/COLOR]
      
    $paging = new Paging();
    $paging->startIndex = 0;
    $paging->numberResults = 10;
    $selector->paging = $paging;
    
    $relatedToKeywordSearchParameter = new RelatedToKeywordSearchParameter();
    $relatedToKeywordSearchParameter->keywords = array($keyword);
    
    $keywordMatchTypeSearchParameter = new KeywordMatchTypeSearchParameter();
    $keywordMatchTypeSearchParameter->keywordMatchTypes = array('EXACT');//BROAD
    
    $selector->searchParameters =
      array($relatedToKeywordSearchParameter, $keywordMatchTypeSearchParameter);
    
    $page = $targetingIdeaService->get($selector);
    
    if (isset($page->entries)) {  
    
    echo '<div id="output"><ul>';
    	foreach ($page-> entries as $targetingIdea) {
    	  echo '<li><a href="#">';
    	  $data = MapUtils::[COLOR="red"]GetMap[/COLOR]($targetingIdea->data);
    	  
    	  $keyword = $data['KEYWORD']->value;
    	  
    	  $averageMonthlySearches =  isset($data['AVERAGE_TARGETED_MONTHLY_SEARCHES']->value)
    		  ? $data['AVERAGE_TARGETED_MONTHLY_SEARCHES']->value : 0;
    	  
    	  echo  $keyword->text . '</a>';
    	  echo  ' match types:' . $keyword->matchType;
    	  echo  ' / ' . $averageMonthlySearches . ' monthly searches';
    	  echo '</li>';
    	}
    echo '</ul></div>';
    Code (markup):
    how ever i would like to add more entries and take advantage of GetMapEntries
    like adding
    
    $selector->requestedAttributeTypes =  array('KEYWORD', 'COMPETITION');
    $selector->requestedAttributeTypes =  array('KEYWORD', 'SEARCH_SHARE');
    
    Code (markup):
    can anyone lend a hand how i can make this happen? my code below does not work
    
    <?php
    error_reporting(E_STRICT | E_ALL);
    
    $path = dirname(__FILE__) . '/../../src';
    set_include_path(get_include_path() . PATH_SEPARATOR . $path);
    
    require_once 'Google/Api/Ads/AdWords/Lib/AdWordsUser.php';
    require_once 'Google/Api/Ads/Common/Util/MapUtils.php';
    
    
    
    try {
      $user = new AdWordsUser();
    
      $user->LogDefaults();
    
      $targetingIdeaService = $user->GetTargetingIdeaService('v201008');
    
      $keyword = new Keyword();
      $keyword->text = $kWord;
      $keyword->matchType = 'EXACT';//BROAD , "Phrase"
    
    [COLOR="red"]  $selector = new TargetingIdeaSelector();
      $selector->requestType = 'IDEAS';
      $selector->ideaType = 'KEYWORD';
      $selector->requestedAttributeTypes =  array('KEYWORD', 'AVERAGE_TARGETED_MONTHLY_SEARCHES');
     
      $selector->requestedAttributeTypes =  array('KEYWORD', 'COMPETITION');
      $selector->requestedAttributeTypes =  array('KEYWORD', 'SEARCH_SHARE');[/COLOR]
    	  
      $paging = new Paging();
      $paging->startIndex = 0;
      $paging->numberResults = 10;
      $selector->paging = $paging;
    
      $relatedToKeywordSearchParameter = new RelatedToKeywordSearchParameter();
      $relatedToKeywordSearchParameter->keywords = array($keyword);
    
      $keywordMatchTypeSearchParameter = new KeywordMatchTypeSearchParameter();
      $keywordMatchTypeSearchParameter->keywordMatchTypes = array('EXACT');//BROAD
    
      $selector->searchParameters =
    	  array($relatedToKeywordSearchParameter, $keywordMatchTypeSearchParameter);
    
      $page = $targetingIdeaService->get($selector);
    
    
      if (isset($page->entries)) {  
    	
    	echo '<div id="output"><ul>';
    		foreach ($page-> entries as $targetingIdea) {
    		  echo '<li><a href="#">';
    		  $data = MapUtils::[COLOR="red"]GetMapEntries[/COLOR]($targetingIdea->data);
    		  
    		  $keyword = $data['KEYWORD']->value;
    		  
    		  
    		  $averageMonthlySearches =  isset($data['AVERAGE_TARGETED_MONTHLY_SEARCHES']->value)
    			  ? $data['AVERAGE_TARGETED_MONTHLY_SEARCHES']->value : 0;
    		  
    		  $competition = isset($data2['COMPETITION']->value)
    			  ? $data2['COMPETITION']->value : 0;
    			  
    		  $searchShare = isset($data3['SEARCH_SHARE']->value)
    			  ? $data3['SEARCH_SHARE']->value : 0;
    		  echo  $keyword->text . '</a>';
    		  echo  ' match types:' . $keyword->matchType;
    		  echo  ' / ' . $averageMonthlySearches . ' monthly searches';
    		  echo  ' / ' . $competition . ' competition';
    		  echo  ' / ' . $searchShare . ' search share';
    		  echo '</li>';
    		}
    	echo '</ul></div>';
    		
      } else {
    	print "No related keywords were found.\n";
      }
    } catch (Exception $e) {
      print $e->getMessage();
    }
    
    
    ?>
    
    Code (markup):

     
    ggalan, Jun 13, 2011 IP